Visual C++ 2010 Expressで次のように書きました。
コンパイルエラーの理由を教えていただけませんか。
#include <memory>
class Base
{
public:
virtual void Update() = 0;
virtual ~Base() {}
};
class Derived : public Base
{
void Update(){}
};
void Test() {
std::shared_ptr<Base> testA = std::make_shared<Derived>(); // エラーなし
auto testB = std::make_shared<Base>( Derived() ); // error C2259: 'Base' : 抽象クラスをインスタンス化できません。
}
error C2259: 'Base' : 抽象クラスをインスタンス化できません。
次のメンバーが原因です:
'void Base::Update(void)' : は抽象型です0
です。よろしくお願いします。