Visual C++ November 2012 CTP をインストールしましたが、委任コンストラクターをまだ使用できないため、何か間違っているようです
Platform Toolset を次のように設定しました: 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;
}
パラメーターなしのコンストラクターで次のエラー メッセージが表示されます。