C ++:使用String作为函数参数的麻烦

时间:2010-09-26 00:38:54

标签: c++ function char const arguments

好的,我在使用以下代码时遇到问题(在头文件中):

#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

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

我一直收到以下错误(在Codeblocks中):

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

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

如果可能的话,我宁愿不使用向量(在初始化函数时添加了另一个步骤。

我做错了什么?我试过这个,但没有找到任何令人满意的答案。

提前致谢。

1 个答案:

答案 0 :(得分:6)

file = xmlParseFile(filename.c_str());