编译错误 error: ISO C++ forbids declaration of ‘xxx’ with no type [-fpermissive]

清泛原创
比较可能的情况1:函数没有写返回类型,加上返回类型后编译成功。
#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关键字。

编译错误

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部