我在 2012 年 11 月安装了 Visual c++ CTP,但似乎我做错了什么,因为我仍然无法使用委托构造函数
我将平台工具集设置为:Microsoft Visual C++ Compiler Nov 2012 CTP (v120_CTP_Nov2012)
这是我的代码:
#pragma once #include<string> class Hero { private: long id; std::string name; int level; static long currentId; Hero(const Hero &hero); //disable copy constructor Hero& operator =(const Hero &hero); //disable assign operator public: Hero(); Hero(std::string name, int level); long GetId() const { return this->id; } std::string GetName() const { return this->name; } int GetLevel() const { return this->level; } void SetName(std::string name); void SetLevel(int level); };
PS:任何关于 c++11 和 Visual Studio 2012 的提示都非常受欢迎。谢谢。
LE:这是实现文件:
#include"Hero.h"
long Hero::currentId = 0;
Hero::Hero(std::string name, int level):name(name), level(level), id(++currentId)
{
}
Hero::Hero():Hero("", 0)
{
}
void Hero::SetName(const std::string &name)
{
this->name = name;
}
void Hero::SetLevel(const int &level)
{
this->level = level;
}
我在无参数构造函数上收到以下错误消息:“Hero”不是类“Hero”的非静态数据成员或基类