C++错误C2061-typdef定义

C++ Error C2061 - typdef definition

本文关键字:定义 C2061-typdef 错误 C++      更新时间:2023-10-16

在我的c++应用程序中,我有一个aaa.h文件,其中包含以下定义:

typedef struct 
{
   int a;
   int b;
} CCC;
typedef struct _DDD
{
   unsigned int e;
   CCC cccArray[100];
} DDD;

在我的aaa.cpp中,我写道:

#include "aaa.h"
DDD * dddPtr

但后来我犯了一个错误:错误c2061:语法错误:标识符"DDD"

你能帮我解决这个问题吗?

感谢

对于C++,您不需要typedef'ed struct-只需执行以下操作:

struct CCC
{
   int a;
   int b;
};
struct DDD
{
   unsigned int e;
   CCC cccArray[100];
};

这个:

#include "aaa.h"
DDD * dddPtr = NULL;    // or = new DDD;

第一件事:应该用分号;终止声明。

第二:在您的情况下,C++中不需要typedefs,只需定义classes或structures:

struct CCC
{
   int a;
   int b;
};
struct DDD
{
   unsigned int e;
   CCC cccArray[100];
};
int main()
{
    DDD * dddPtr;
}

EDIT:此外,您应该通过为CCCDDD提供合适的构造函数来确保每个成员都已正确初始化。