"warning C4987: nonstandard extension used: 'throw (...)'"是什么意思?
What does "warning C4987: nonstandard extension used: 'throw (...)'" mean?
我正在尝试编译一个VC ++项目,它抱怨此错误
Microsoft Visual Studio 10.0VCatlmfcincludeatlalloc.h(517): warning C4987: nonstandard extension used: 'throw (...)'
它指向的线是
_Ret_opt_bytecap_x_(nElements * sizeof(T)) T* Allocate(_In_ size_t nElements) throw( ... )
{
return( AllocateBytes( ::ATL::AtlMultiplyThrow(nElements,sizeof( T )) ) );
}
这意味着throw(...)
异常规范是一个非标准扩展(如果有的话,这是一个非答案......),也就是说,C++标准没有为这段代码定义含义。在Visual Studio中,这意味着该函数可能会引发任何异常。
如果它是您自己的代码,您可以通过简单地删除异常规范来修复警告(好吧,无论如何,对于C++异常;我不知道这会如何影响Microsoft的结构化异常处理)。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思