将异常规范松散错误视为警告的 Clang 编译器选项
Clang compiler option to treat exception specification lax error as warning
有没有办法在 clang 中将异常不匹配错误视为警告?
source_file.cpp:12:18: error: exception specification of overriding function is more lax than base version
virtual void Func(){}
对于指定异常说明符的函数,google 模拟出现错误。查看 https://github.com/google/googletest/pull/681 和其他报告的问题,不确定这是否会在 google 模拟中得到修复,所以至少对于测试代码,如果可能的话我想禁用它。
//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;
}
是的,使用 -fms-extensions
命令行选项。
MSVC 仅对此发出警告,因此使用 clang MSVC 兼容模式,代码将编译,错误将替换为等效警告。
Clang 文档中有关 MSVC 兼容模式的更多信息,
here.
有没有办法在 clang 中将异常不匹配错误视为警告?
source_file.cpp:12:18: error: exception specification of overriding function is more lax than base version virtual void Func(){}
对于指定异常说明符的函数,google 模拟出现错误。查看 https://github.com/google/googletest/pull/681 和其他报告的问题,不确定这是否会在 google 模拟中得到修复,所以至少对于测试代码,如果可能的话我想禁用它。
//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;
}
是的,使用 -fms-extensions
命令行选项。
MSVC 仅对此发出警告,因此使用 clang MSVC 兼容模式,代码将编译,错误将替换为等效警告。
Clang 文档中有关 MSVC 兼容模式的更多信息, here.