C++ 在'之前应为不合格id\0';
我试着做了以下事情,但我发现了错误C++ 在'之前应为不合格id\0';,c++,compiler-errors,typedef,C++,Compiler Errors,Typedef,我试着做了以下事情,但我发现了错误 typedef '\0' DEFAULT_VALUE; 错误:在“\0”之前应为未确认的id` 错误:在_null之前应为未经验证的id 我做错了什么?类型定义的一般语法是: typedef existing_type new_type_name ; 由于'\0'和NULL不存在类型,因此会出现错误 由于需要定义常量,因此可以使用常量作为: const int DEFAULT_VALUE = '\0'; typedef的一般语法是: typedef
typedef '\0' DEFAULT_VALUE;
错误:在“\0”之前应为未确认的id`
错误:在_null之前应为未经验证的id
我做错了什么?类型定义的一般语法是:
typedef existing_type new_type_name ;
由于'\0'
和NULL
不存在类型,因此会出现错误
由于需要定义常量,因此可以使用常量作为:
const int DEFAULT_VALUE = '\0';
typedef
的一般语法是:
typedef existing_type new_type_name ;
由于'\0'
和NULL
不存在类型,因此会出现错误
由于需要定义常量,因此可以使用常量作为:
const int DEFAULT_VALUE = '\0';
关键字typedef
定义了现有类型的同义词。\0
和NULL
都不是类型。可能你想要的东西如下:
#define DEFAULT_VALUE NULL
关键字typedef
定义了现有类型的同义词。\0
和NULL
都不是类型。可能你想要的东西如下:
#define DEFAULT_VALUE NULL
因此,我可以在C++中指定一个指针,作为…int *PTR=Debug Tr.Valuy。这样,我就可以将一个指针指定为…int *pTr= Debug Tr.Valuy。预处理器宏只替换源文本,而C++提供了无法用宏实现的类型安全。@我没有注意到这个问题是用C++来标记的。从OP的问题我猜他/他正在尝试做一些事情,比如“代码>”定义< /C> >。因为问题是标记C++,所以你应该避免<代码>定义< /C> >,使用<代码> const int < /Cuth>构造。预处理器宏只替换源文本,而C++提供了无法用宏实现的类型安全。@我没有注意到这个问题是用C++来标记的。从OP的问题中,我猜他/她正试图做一些类似于定义的事情。