无法解析的外部符号...

freshui 2006-12-01 10:40:30
错误:
digital_network.obj : error LNK2005: "class bin_seq __cdecl binary_channel(class bin_seq const &,class std::basic_istream<char,struct std::char_traits<char> > &)" (?binary_channel@@YA?AVbin_seq@@ABV1@AAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z) 已经在 exem5.obj 中定义


函数 bin_seq binary_channel(const bin_seq &ip,istream& in) 我在头文件digital_network.h中声明并定义的,在exem5.cpp中使用的

怎么出现这个错误呢?
头文件中有ifndef define
...全文
164 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pottichu 2006-12-01
  • 打赏
  • 举报
回复
楼主看看, 是不是只有声明没有实现.
KUCHIBUE 2006-12-01
  • 打赏
  • 举报
回复
函数声明放在前面,确保参数表一致.

静态成员在实现文件里要定义一下.否则只当是个声明,如
// .h
class xx
{
...
static int xxx;
};

//.cpp
int xx::xxx;
...
freshui 2006-12-01
  • 打赏
  • 举报
回复
我把函数 bin_seq binary_channel(const bin_seq &ip,istream& in)
的声明和定义放在main函数前面就可以了

不过还有一个问题,就是在引用一个类的公有静态数据成员时
也出现 无法解析的外部符号
为什么啊?公有的成员函数都可以正常使用啊
jixingzhong 2006-12-01
  • 打赏
  • 举报
回复
可能的原因很多 ...

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧