在学些C++中的类时,出现类报错。如下:
error LNK2019: unresolved external symbol "void __cdecl callme1(class StringBad &)" (?callme1@@YAXAAVStringBad@@@Z) referenced in function _main
.exe : fatal error LNK1120: 1 unresolved externals
一开始找不出来错,就网上搜索了一下,一大堆的问题和解决方法。
后来在看自己检查自己敲的代码,发现有个函数的单词在定义时写错了,,哎,又粗心大意了。。。。。。
**************************************************************AAAA*****************************************************************
以下是转某大牛的问题和解决方法,留着以后看看(戳我看原文)
模板:
template<class T>
void Blur(T* SourceImage, const int Width, const int Height);
template<class T>
void Blur(T* SourceImage, const int Width, const int Height);
template void
Blur<unsigned char>
(unsigned char*, const int, const int);
Blur<unsigned char>
(unsigned char*, const int, const int);
但链接时出错:
Linking...
Image_demoDoc.obj : error LNK2019: unresolved external symbol "void __cdecl Blur<unsigned char>(unsigned char *,int,int)" (??$Blur@E@@YAXPAEHH@Z) referenced in function "void __cdecl OnBlur(struct HWND__ *)" (?OnBlur@@YAXPAUHWND__@@@Z)
Release\Image_demo.exe : fatal error LNK1120: 11 unresolved externals
Linking...
Image_demoDoc.obj : error LNK2019: unresolved external symbol "void __cdecl Blur<unsigned char>(unsigned char *,int,int)" (??$Blur@E@@YAXPAEHH@Z) referenced in function "void __cdecl OnBlur(struct HWND__ *)" (?OnBlur@@YAXPAUHWND__@@@Z)
Release\Image_demo.exe : fatal error LNK1120: 11 unresolved externals
模板声明和实现要放在同一文件夹中,我原先把声明放在了.h文件中,把实现放在了.cpp文件中。改了后运行还是出错。真是奇怪!我还以为是什么大的错误。后来重新启动了下VS2005就好了。原来我修改后,编译环境还以以前就的中间文件来编译,怪不得改了后还是没用。现在发现,有时候这VC环境还是有点“反应慢”。