我从我正在使用的多个工程师那里获得了多个类,并且他们在类中具有相同的命名结构。从这我得到错误“'结构'类型重新定义”。我如何解决这个问题?如何在多个类中定义相同的命名结构?
实施例:
// Eng1Class.h
#pragma once
struct Eng1And2SameName
{
unsigned int bottle;
};
class Eng1Class
{
public:
Eng1Class();
~Eng1Class();
};
。
// Eng2Class.h
#pragma once
struct Eng1And2SameName
{
float x, y;
};
class Eng2Class
{
public:
Eng2Class();
~Eng2Class();
};
。
// Main Program
#include "stdafx.h"
#include "Eng1Class.h"
#include "Eng2Class.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
错误:错误C2011:“Eng1And2SameName”:“结构”类型重新定义
根据这一Compile error "'struct' type redefinition" although it's the first definition for it中的#pragma一次应该可以解决问题,但我仍然看到错误。你可以提供哪些见解?
这些“结构”的意义何在?如果他们完全是为了课堂,那么你可以在课堂内宣布他们。 – NathanOliver
定义名称空间将有所帮助 –