如何解决错误说静态成员函数未定义,但我定义了吗?
我必须缺少明显的东西,谢谢您的帮助。
用C ++编码。 IDE是Clion。
在我的main.cpp中,我调用了Parser::parse(tokenList)
函数。
在Parser.h中将解析函数声明为static std::string parse (std::vector<Token*>& tokenList);
我在Parser.cpp中将函数定义为std::string Parser::parse (std::vector<Token*> &tokenList){return "";}
在我的main.cpp文件中,我#include "Parser.h"
建立专案时,我得到undefined reference to 'Parser::parse(std::vector<Token*,std::allocator<Token*> >&)'
我定义不正确吗?
我有类似的代码,但有相同的问题。在该示例中,包括.cpp文件而不是.h文件可解决此问题。为什么会这样(是的,我知道将.cpp包括在内是不好的做法)?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。