【发布时间】:2014-11-03 16:39:20
【问题描述】:
在此错误中,MSVS2010 中的“数据变量”是什么意思?我以为我在声明一个在我的代码中其他地方定义的符号。
错误 C2365:“g_surf”:重新定义;之前的定义是“数据变量”
显然这可能意味着 int 或 char。
我遵循了一个工作示例。
在声明符号之前,我必须包含类的定义。
#include classdef.h
我使用 extern 关键字在 stdafx.h 中声明一个对象。
extern COriginal g_orig;//works
extern CClass g_surf;//how is this declaration resulting in a 'data variable' type?
我在代码文件中(在全局空间中)实例化一个类。这就是发生错误的地方。
COriginal g_orig(CONST_ARGUMENT);//works
CClass g_surf();//seen as redefinition.
我从其他两个类创建了一个类,因为我需要这两个类的属性。
我可以找到其他无法提供对此问题的见解的重新定义问题。我没有在 MSVS2010 或网络上找到“数据变量”的含义。
【问题讨论】:
-
“数据变量”组中还有什么?它是在某处定义的吗?还是我只记得当部分未定义时错误语句的含义?
标签: c++ visual-studio-2010 class redefinition