我有一个Parser.h,Parser.cpp文件,里面有函数
是构造函数Parser::Parser(string filename){....}
现在我想在我的functions.cpp文件中使用我的解析器,我确保
#include "Parser.h"
在我的函数中,我想使用解析器如何创建它的新实例,这就是我所拥有的,但我得到语法错误。
Parser::Parser parser("filename.txt");
抱歉,我应该确保我正确复制了我的代码,我没有引用错误,也没有忘记包含parser.h。
答案 0 :(得分:6)
(如果您#include
d Parser.h
),您只需要
Parser parser("filename.txt");
Parser::Parser
标记了类Parser
的构造方法的定义。但是,构造函数可以(并且不需要)直接调用 - 通过像上面那样定义Parser
的实例来隐式调用它。
请注意,文件名应使用双引号(单引号表示单个字符,双引号表示文本字符串)。
答案 1 :(得分:2)
#include "functions.h"
您的标题文件名是Parser.h
,而不是functions.h
。
这样做:
#include "Parser.h"
然后这个:
Parser parser("filename.txt"); //not Parser::Parser parser('filename.txt');
对于字符串文字,例如"filename.txt"
答案 2 :(得分:1)
尝试
Parser::Parser parser("filename.txt");
单引号用于单个字符而不是字符串。
答案 3 :(得分:0)
Parser parser("filename.txt");