c – #include .h或.cpp文件?
发布时间:2020-12-16 07:27:23 所属栏目:百科 来源:网络整理
导读:所以我有这个奇怪的问题:当我导入一个单独的类的.h文件时,我的基本程序会生成一条错误消息(对’foo :: foo(int)’的未定义引用).但是,当我将导入文件更改为.cpp时,一切正常. 现在,我已经阅读了一些,并看了几个视频教程,他们都说同样的:导入.h文件.那为什么
所以我有这个奇怪的问题:当我导入一个单独的类的.h文件时,我的基本程序会生成一条错误消息(对’foo :: foo(int)’的未定义引用).但是,当我将导入文件更改为.cpp时,一切正常.
现在,我已经阅读了一些,并看了几个视频教程,他们都说同样的:导入.h文件.那为什么不起作用呢? 我在Windows 7中使用Code :: Blocks,我编译并运行(没有命令行).我怀疑某些东西设置得不是很正确,但是,我确实想知道它是否是我的代码失败. Main.cpp的: #include <iostream> #include "Foo.h" //This don't work. If i include Foo.cpp it does. using namespace std; int main() { Foo k(10); cout << k.getInt() << endl; } foo.h中: #ifndef FOO_H #define FOO_H class Foo { public: Foo(int tall); int getInt()const; protected: private: int m; }; #endif Foo.cpp中: #include "Foo.h" Foo::Foo(int tall) : m(tall) { //ctor } int Foo::getInt()const { return m; } 解决方法
您需要编译main.cpp和foo.cpp,并将2个结果对象文件链接在一起.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |