我基本上试图从C++中的类实例化对象并使用其中一个成员函数。这感觉就像一个非常标准的问题,但我在网上找到的所有解决方案都是简单的支架问题,或者看起来很明显的范围解析问题,或者是大量复杂的例子,它们掩盖了过度复杂的实际情况。我非常感谢任何能够帮助我理解我在做什么错误的文件。使用头文件和实现文件实例化和使用C++类
我得到的错误是
未定义的参考测试::测试() '
未定义的引用)来测试:: 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";
}
显然你没有编译Test.cpp,或者没有将生成的目标文件与你的程序链接起来。 – Quentin
你用什么IDE?顺便说一句,不包括iostream在你的主 – KostasRim
我在ubuntu中使用g ++进行编译。感谢iostream反馈btw。 –