| 
			 
					阅读:1676回复: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吗?再说,为什么重写一边就好呢?  | 
	|
					
						
  |