什么是在Visual Studio C++中废弃单个构造函数的正确语法?
问题描述:
我在我的代码中使用了新的[[不推荐(“消息”)]]属性。我有一个类,它有两个构造函数,其中之一为废弃应标(明显简化,可能与语法错误):什么是在Visual Studio C++中废弃单个构造函数的正确语法?
class MyClass
{
public:
// good constructor
MyClass(int someNumber): _someNumber(someNumber) {}
[[deprecated("Use MyClass(int) instead")]]
MyClass(const char* someStr): _someNumber(atoi(someStr)) {}
private:
int _someNumber;
}
Visual Studio中抱怨说,“弃用属性”(”使用MyClass的(INT)而不是“),”无法在此环境中应用
是否有弃用在Visual Studio 2015年,使我得到一个警告,一个构造函数,如果它是在任何地方使用的方式
答
标记参数为:已不适用。?
MyClass([[deprecated]]const char* someStr){}
或者:
MyClass([[deprecated("Use MyClass(int) instead")]]const char* someStr){}
__declspec(deprecated("** Use MyClass(int) instead **"))
MyClass(const char* someStr) : _someNumber(atoi(someStr)) {}
还取决于您的更新版本(无。 3)您可能遇到this bug。
是托管的还是常规的C++? – orhtej2
@ orhtej2 Regular C++ – Ben