所以我有这个奇怪的问题:当我导入一个单独的类的.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; }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。