编译错误 error: ISO C++ forbids declaration of ‘xxx’ with no type [-fpermissive]
清泛原创
比较可能的情况1:函数没有写返回类型,加上返回类型后编译成功。
可能的情况2:两个头文件相互include,一般可以采用#ifndef或前置声明解决该问题。
可能的情况3:
error: ISO C++ forbids declaration of ‘typeof’ with no type [-fpermissive]
typeof关键字是GNU C拓展,编译选项需要加 -std=gnu99 (或-std=gnu++11 对应C++11标准)才能被识别。类似于c++11的decltype关键字。
#ifndef ttTree_h
#define ttTree_h
class ttTree
{
public:
ttTree(void);
int ttTreeInsert(int value);
};
#endif
ttTree::ttTreeInsert(int value) {} //报错 ->
int ttTree::ttTreeInsert(int value) {} //加上返回类型解决
可能的情况2:两个头文件相互include,一般可以采用#ifndef或前置声明解决该问题。
可能的情况3:
error: ISO C++ forbids declaration of ‘typeof’ with no type [-fpermissive]
typeof关键字是GNU C拓展,编译选项需要加 -std=gnu99 (或-std=gnu++11 对应C++11标准)才能被识别。类似于c++11的decltype关键字。
上一篇:gcc自带内存泄漏、内存越界检测工具 - asan
下一篇:编译错误 error: ‘typeof’ cannot be used as a function