我基本上试图用c ++中的类实例化一个对象并使用其中一个成员函数。这感觉就像一个非常标准的问题,但是我在网上找到的所有解决方案都是简单的括号问题,或者看起来非常明显的范围分辨率,或者是过于复杂的实际情况。我真的很感激任何能够帮助我理解我对这些文件做错的事。
我得到的错误是
对Test :: Test()'
的未定义引用对Test :: msg()'
的未定义引用
我有三个文件,一个是main,一个是Test.hpp,另一个是Test.cpp。
的main.cpp
#include "Test.hpp"
#include <iostream>
using namespace std;
int main(){
Test var;
var.msg();
return 0;
}
Test.hpp
#ifndef TEST_HPP
#define TEST_HPP
class Test{
public:
Test();
void msg();
};
#endif
Test.cpp的
#include "Test.hpp"
#include <iostream>
using namespace std;
Test::Test(){
cout << "instantiated\n\n";
}
void Test::msg(){
cout << "Hello\n\n";
}
答案 0 :(得分:0)
考虑到您使用代码块作为您的IDE,只需转到:项目设置 - &gt;项目构建选项 - &gt;搜索目录 - &gt;添加并找到.cpp和.h文件的位置。然后它会询问您是否要将此作为相对路径保留。说不。
如果你使用其他一些ide几乎相同的过程,只需评论我,我会为你提供步骤。
顺便说一下,因为你已经将iostream包含在测试中,所以不需要在主中包含iostream。