您的位置:程序门 -> c/c++ -> c++ 语言



error lnk2019: unresolved external symbol


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


error lnk2019: unresolved external symbol[已结贴,结贴人:acvolcano]
发表于:2007-02-28 17:09:38 楼主
定义了这么一个接口
class   guidance
{
    list <ri> &   getsinstructionall()   const;
}

调用:
m_pguidance-> getsinstructionall()

编译的时候正确,
连接的时候出现:

navicontrol.obj   :   error   lnk2019:   unresolved   external   symbol  
"public:   class   std::list <struct   ri,class   std::__default_alloc_template <1,0>   >   &   __cdecl   guidance::getsinstructionall(void)const   "  
(?getsinstructionall@guidance@@qbaaav?$list@uri@@v?$__default_alloc_template@$00$0a@@std@@@std@@xz)  
referenced   in   function   "private:   static   unsigned   long   __cdecl   navicontrol::startnavifunc(void   *) "   (?startnavifunc@navicontrol@@cakpax@z)
armv4idbg/navione.exe   :   fatal   error   lnk1120:   1   unresolved   externals
error   EXECuting   link.exe.
发表于:2007-02-28 17:12:521楼 得分:5
list <ri> &   getsinstructionall()   const;
没写实现吧
发表于:2007-02-28 17:13:252楼 得分:5
getsinstructionall函数实现了没有?错误信息是没找到这个函数的实现体
发表于:2007-02-28 17:13:573楼 得分:5
class   guidance
{
list <ri> &   getsinstructionall()   const
{
return   list <ri> ();
}
};
发表于:2007-02-28 18:23:154楼 得分:5
在头文件中定义,在源文件中实现
发表于:2007-02-28 18:23:535楼 得分:5
在头文件中定义,在源文件中实现
=〉在头文件中声明,在源文件中实现

:)
发表于:2007-02-28 18:51:306楼 得分:0
实现了:
list <ri> &   guidance::getsinstructionall()   const
{
guidancedata   *pgd   =   (guidancedata   *)guidance_data;
return   pgd-> m_inst;
}
发表于:2007-02-28 19:45:327楼 得分:5
感觉像是单体。
m_inst是什么?list <ri> ?
发表于:2007-03-01 08:38:058楼 得分:20
写成内联形式试一试。
发表于:2007-03-01 10:50:369楼 得分:0
把那个实现放到头文件中应该就可以了!
发表于:2007-03-01 11:46:5610楼 得分:10
对,楼上意见也要注意。

模板的定义和实现要放在同一文件内,^_^
发表于:2007-03-01 12:55:0011楼 得分:10
感觉就是没有定义函数
或者是定义该函数的文件不在工程里面
发表于:2007-03-01 13:26:4912楼 得分:30
因为它的模板声明与定义分开了,所以连接时才产生了无法解析的外部符号,
也相当于只有一个声明,没有定义一样。
呵呵!
楼主都不在!应该是问题解决了吧!
发表于:2007-03-01 15:26:4613楼 得分:0
感谢楼上的答案,问题已经解决了,


快速检索

最新资讯
热门点击