GCC是否可以产生VS之类的结构/类名不匹配?

| 我想让GCC产生一个警告,VisualStudio在找到同时用
class
struct
声明的名称时会产生警告。 (警告4099)这通常是由于前向声明引起的,例如:
struct Base;
...
class Base { ... };
在这种情况下,VS实际上无法链接,因此我将警告升级为错误。由于该项目是跨平台的,因此我希望在使用GCC进行编译时也会发现此问题-否则,我可能会无意中签入在VS中不起作用的代码。 是否有任何开关或方法让GCC也拒绝或警告此类类/结构声明不匹配? 注意:从注释中不能确定此警告是否合法。对于我的问题,这无关紧要,因为这种情况会导致VisualStudio中的链接失败(我不能只是忽略警告)。因此,我只想使用GCC来确定问题,以便Windows编译不会突然停止工作。 答案:似乎没有解决办法。
已邀请:
gcc不在乎差异。 Itanium ABI以相同的方式处理
class
struct
,使它们成为纯粹的语法差异。 Clang有
-Wmismatched-tags
激活此检测,但我找不到gcc等效项(如果有)。
您正在使用哪个版本的VC ++。 VC ++ 6.0中存在一个错误,这意味着它对ѭ1和
class
的处理不同,但这已在以后的编译器中得到修复。例如,我没有在VC ++ 2005上收到任何警告。

要回复问题请先登录注册