好的,我在下面的代码段(在头文件中)遇到麻烦:

#ifndef XML_H_INCLUDED
#define XML_H_INCLUDED
#include "libxml/parser.h"
#include "libxml/xmlwriter.h"
#include <string>


class XmlFile{
public:
    XmlFile(string filename){
        file = xmlParseFile(filename);


    }
    xmlDocPtr file; //Pointer to xml file


};



#endif // XML_H_INCLUDED


该文件包含在主源文件中(但无法访问,因此其内容并不重要)。

我不断收到以下错误(在代码块中):

error: cannot convert 'std::string' to 'const char*'
for argument '1' to 'xmlDoc* xmlParseFile(const char*)'|


我遇到了很多次,这让我发疯。

如果可能的话,我不希望使用向量(在初始化函数时又增加了一步。

我究竟做错了什么?我尝试过查找,但是没有找到满意的答案。

提前致谢。

最佳答案

file = xmlParseFile(filename.c_str());

关于c++ - C++:使用字符串作为函数的参数时遇到麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3796142/

10-11 18:05