阅读:1600回复:11
在一个.CPP的文件中,在函数前加一个Virtual 就出错,不加 编译能通过?
class RegBase
{ virtual ~RegBase() {} }; 去掉这个virtual就能正确编译 , 加上编译就出错。 我是在别人的代码上做修改 所以这个vitual是一定要保留的 别人的代码编译是能通过的 error LNK2019: unresolved external symbol "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) referenced in function "public: virtual void * __thiscall RegBase::`scalar deleting destructor'(unsigned int)" (??_GRegBase@@UAEPAXI @Z) |
|
沙发#
发布于:2005-02-05 20:52
class RegBase
{ public: virtual ~RegBase() { } } ; 这样可以编译通过 |
|
|
板凳#
发布于:2005-02-05 21:31
AllenZh ,
你骗我, 不行啊! |
|
地板#
发布于:2005-02-06 14:44
会不会是你的开发环境设置欠妥呢?
|
|
|
地下室#
发布于:2005-02-06 20:00
AllenZh , 我骗你!我有必要骗你吗? |
|
|
5楼#
发布于:2005-02-06 23:09
ft
这哪是编译错误,明明是链接错误! |
|
6楼#
发布于:2005-02-15 11:31
我发现从头开始来 堆代码 就不会再有这个问题
有些问题不必搞得那么清楚 |
|
7楼#
发布于:2005-02-19 13:20
"从头开始来 堆代码"
是么子意思喽? |
|
8楼#
发布于:2005-02-21 09:10
从DriverEntry开始,
一步一步的添加代码 我不确定 是什么原因产生这个错误 |
|
9楼#
发布于:2005-02-21 15:22
从DriverEntry开始, 从你的错误信息error LNK2019: unresolved external symbol "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) referenced in function "public: virtual void * __thiscall RegBase::`scalar deleting destructor'(unsigned int)" (??_GRegBase@@UAEPAXI @Z) 肯定是连接错误出现乱码(??3@YAXPAX@Z),肯定跟你的区域设置有关系,如果设置成中国,直接下载的代码中可能有些符号便错了,重写一遍,消除了这样的错误,我以前遇到过多次 |
|
|
10楼#
发布于:2005-02-22 12:19
[quote]从DriverEntry开始, 从你的错误信息error LNK2019: unresolved external symbol \"void __cdecl operator delete(void *)\" (??3@YAXPAX@Z) referenced in function \"public: virtual void * __thiscall RegBase::`scalar deleting destructor\'(unsigned int)\" (??_GRegBase@@UAEPAXI @Z) 肯定是连接错误出现乱码(??3@YAXPAX@Z),肯定跟你的区域设置有关系,如果设置成中国,直接下载的代码中可能有些符号便错了,重写一遍,消除了这样的错误,我以前遇到过多次 [/quote] ft,这怎么成了乱码?这是C++的函数名修饰 不知道楼主是不是用了DriverWorks。在驱动中用C++... |
|
11楼#
发布于:2005-02-23 09:59
[quote][quote]从DriverEntry开始, 从你的错误信息error LNK2019: unresolved external symbol \"void __cdecl operator delete(void *)\" (??3@YAXPAX@Z) referenced in function \"public: virtual void * __thiscall RegBase::`scalar deleting destructor\'(unsigned int)\" (??_GRegBase@@UAEPAXI @Z) 肯定是连接错误出现乱码(??3@YAXPAX@Z),肯定跟你的区域设置有关系,如果设置成中国,直接下载的代码中可能有些符号便错了,重写一遍,消除了这样的错误,我以前遇到过多次 [/quote] ft,这怎么成了乱码?这是C++的函数名修饰 不知道楼主是不是用了DriverWorks。在驱动中用C++... [/quote] 那??3@YAXPAX@Z是什么函数,难道是3吗?再说,为什么重写一边就好呢? |
|
|