用VC++6.0编译C++程序,类的声明文件.h和类的实现文件.cpp是放在一个文件中还是放在不同文件中
我将声明和实现分开写在不同文件,然后添加到一个工程中,用VC++编译,链接出现问题。编译结果如下:-------------------Configuration:aaa...
我将声明和实现分开写在不同文件,然后添加到一个工程中,用VC++编译,链接出现问题。编译结果如下:
-------------------Configuration: aaa - Win32 Debug--------------------
Compiling...
stack.cpp
main.cpp
Linking...
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<int>::pop(int &)" (?pop@?$stack@H@@QAEHAAH@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<int>::push(int const &)" (?push@?$stack@H@@QAEHABH@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall stack<int>::stack<int>(int)" (??0?$stack@H@@QAE@H@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<float>::pop(float &)" (?pop@?$stack@M@@QAEHAAM@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<float>::push(float const &)" (?push@?$stack@M@@QAEHABM@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall stack<float>::stack<float>(int)" (??0?$stack@M@@QAE@H@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<char>::pop(char &)" (?pop@?$stack@D@@QAEHAAD@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<char>::push(char const &)" (?push@?$stack@D@@QAEHABD@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall stack<char>::stack<char>(int)" (??0?$stack@D@@QAE@H@Z)
Debug/aaa.exe : fatal error LNK1120: 9 unresolved externals
执行 link.exe 时出错.
aaa.exe - 1 error(s), 0 warning(s) 展开
-------------------Configuration: aaa - Win32 Debug--------------------
Compiling...
stack.cpp
main.cpp
Linking...
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<int>::pop(int &)" (?pop@?$stack@H@@QAEHAAH@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<int>::push(int const &)" (?push@?$stack@H@@QAEHABH@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall stack<int>::stack<int>(int)" (??0?$stack@H@@QAE@H@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<float>::pop(float &)" (?pop@?$stack@M@@QAEHAAM@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<float>::push(float const &)" (?push@?$stack@M@@QAEHABM@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall stack<float>::stack<float>(int)" (??0?$stack@M@@QAE@H@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<char>::pop(char &)" (?pop@?$stack@D@@QAEHAAD@Z)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall stack<char>::push(char const &)" (?push@?$stack@D@@QAEHABD@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall stack<char>::stack<char>(int)" (??0?$stack@D@@QAE@H@Z)
Debug/aaa.exe : fatal error LNK1120: 9 unresolved externals
执行 link.exe 时出错.
aaa.exe - 1 error(s), 0 warning(s) 展开
4个回答
展开全部
按照如下方式来添加:
1. 在VC的工程文件视图中添加 .h和.cpp文件
2. 在要调用的其他cpp文件中添加 #include "xxxx.h", 或者添加到其对应的.h中也行.
3. 然后再编译.
1. 在VC的工程文件视图中添加 .h和.cpp文件
2. 在要调用的其他cpp文件中添加 #include "xxxx.h", 或者添加到其对应的.h中也行.
3. 然后再编译.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要把它们创建在同一个项目中,这样才能成功链接
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-03-07
展开全部
没有特别规定,由程序员根据具体情况而定.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询