2017-09-07 335 views
0

有没有办法将异常不匹配错误当作叮当中的警告处理?Clang编译器选项将异常规范松散错误作为警告

source_file.cpp:12:18: error: exception specification of overriding function is more lax than base version virtual void Func(){}

我得到错误与谷歌模拟功能,指定异常说明符。看https://github.com/google/googletest/pull/681和其他报告的问题,不知道这是否会在谷歌模拟得到修复,所以至少对于测试代码,如果可能的话,我想禁用这个。

//clang 3.8.0 
#include <iostream> 

struct A 
{ 
    virtual void Func() throw() {} 
}; 
struct B : public A 
{ 
    virtual void Func(){} 
}; 

int main() 
{ 
    B b; 
    return 0; 
} 

回答

1

是的,使用-fms-extensions命令行选项。
MSVC仅对此提出警告,因此使用铿锵MSVC兼容模式时,代码将进行编译,并且错误将被等同的警告替换。

更多关于铿文档中的MSVC兼容模式, here

+0

谢谢你的工作! – user3279954