首页 > 代码库 > error: two or more data types in declaration specifiers原因及解决方法

error: two or more data types in declaration specifiers原因及解决方法

编译时报错:

 

[plain] view plaincopyprint?
  1. error: <strong>two or more data types in declaration specifiers</strong> 
error: two or more data types in declaration specifiers

原因可能有两个:

 

1. 少了一个分号";",比如定义一个结构体时,在最后忘了加分号。

解决方法:加上分号即可。

2. 重复定义,比如:a.h文件中有如下定义:

 

[cpp] view plaincopyprint?
  1. #define bool char 
#define bool char

b.h文件中有如下定义:

 

 

[cpp] view plaincopyprint?
  1. typedef char bool; 
typedef char bool;

然后在main.c中同时包含a.h和b.h:

[cpp] view plaincopyprint?
  1. #include "a.h" 
  2. #include "b.h" 
#include "a.h"#include "b.h"

此时,就会报这个错。

解决方法:去掉其中一处定义。

error: two or more data types in declaration specifiers原因及解决方法