我想从静态方法返回类 Foo 的第一个创建实例(在所有程序生命周期中实际上将创建一个实例)。这里的示例代码:
//。H
#pragma once
class Foo
{
static Foo* _firstInstance;
public:
Foo();
~Foo();
static Foo* GetFirstFoo();
};
//.cpp
#include "stdafx.h"
#include "Foo.h"
Foo::Foo()
{
_firstInstance = this;
}
Foo::~Foo()
{
}
Foo* Foo::GetFirstFoo()
{
return _firstInstance;
}
但我得到了下一个错误:
Error 1 error LNK2001: unresolved external symbol "private: static class Foo * Foo::_firstInstance" (?_firstInstance@Foo@@0PAV1@A) c:\Users\Brans\documents\visual studio 2013\Projects\testSt\testSt\Foo.obj testSt
怎么了?我是 C++ 的新手,但我记得我从静态方法创建了类实例构造函数,没有问题。