C++ 如何声明类的实例?
我有一个Parser.h,Parser.cpp文件,其中包含函数 构造函数是C++ 如何声明类的实例?,c++,function,instance,C++,Function,Instance,我有一个Parser.h,Parser.cpp文件,其中包含函数 构造函数是 Parser::Parser(string filename){....} 现在,我想在functions.cpp文件中使用解析器,在这里我确保 #include "Parser.h" 在我的函数中,我想使用解析器如何创建它的新实例,这是我所拥有的,但我得到了语法erorrs Parser::Parser parser("filename.txt"); 对不起,伙计们,我应该确保我复制的代码是正确的,我没有引用错
Parser::Parser(string filename){....}
现在,我想在functions.cpp文件中使用解析器,在这里我确保
#include "Parser.h"
在我的函数中,我想使用解析器如何创建它的新实例,这是我所拥有的,但我得到了语法erorrs
Parser::Parser parser("filename.txt");
对不起,伙计们,我应该确保我复制的代码是正确的,我没有引用错误,也没有忘记插入parser.h(如果你#包含dparser.h
),你只需要
Parser parser("filename.txt");
Parser::Parser
标记类Parser
的构造函数方法的定义。但是,构造函数可以(也不需要)直接调用——您可以通过定义解析器的实例来隐式调用它,如上所述
请注意,文件名应使用双引号(单引号表示单字符,双引号表示文本字符串)
头文件名是Parser.h
,而不是functions.h
这样做:
#include "Parser.h"
那么这个,
Parser parser("filename.txt"); //not Parser::Parser parser('filename.txt');
请对字符串文本使用双引号,而不是单引号,例如“filename.txt”
试试看
Parser::Parser parser("filename.txt");
单引号用于单个字符而不是字符串。我可能错了,但您的文件名不应该是“filename.txt”而不是“filename.txt”,因为它会被视为一个字符。也许你可以展示你的调试代码?供大家参考,显然至少有两次对这个问题的编辑纠正了代码复制中的打字错误,速度足够快,不会被视为对问题的编辑(是的,这很有效)。上面未找到的引用错误的注释和答案与早期版本相关。似乎所选答案已编辑到问题中。。。这就是问题所在吗?还是我们刚刚进行了一次很好的排版会议?是Confusing.that,我会在8分钟内接受你的答案,我有一些其他语法我不能正确,C++是新的me@user570098:当你问自己为什么会有问题时,打字错误是很糟糕的。当它是一个语法错误,打字错误是非常非常糟糕的。在这样的情况下总是剪切粘贴。很明显,你在原始版本中有三个明显的错误,一些人指出了那些是打字错误。
Parser parser("filename.txt");
Parser parser("filename.txt");