【发布时间】:2017-02-23 20:57:53
【问题描述】:
我有这样的代码:
#pragma once
#include "MV/stateSystem/StateSystem.hpp"
#include "MV/config/Config.hpp"
namespace mv
{
class Initializator
{
/* ===Objects=== */
public:
protected:
private:
static Initializator *instance;
/* ===Methods=== */
public:
//Inits the program
void init();
static Initializator& getInstance();
static void createInstance();
protected:
private:
Initializator();
Initializator(Initializator const& copy) = delete; // Not Implemented
Initializator& operator=(Initializator const& copy) = delete; // Not Implemented
};
}
and .cpp
#include "Initializator.hpp"
namespace mv
{
Initializator* Initializator::instance;
void Initializator::init()
{
StateSystem::readStatesFromFile("data/states/states.txt");
}
Initializator & Initializator::getInstance()
{
if (instance == 0)
Logger::Log(constants::error::singleton::SINGLETON_NOT_INITED, Logger::STREAM::BOTH, Logger::TYPE::ERROR);
return *instance;
}
void Initializator::createInstance()
{
if (instance == 0)
instance = new Initializator();
}
}
但是我的编译器有问题:
严重性代码描述项目文件行抑制状态 函数“public:static void __cdecl mv::Initializator::createInstance(void )" (?createInstance@Initializator@mv@@SAXXZ)
我无法理解它,因为我有其他类的代码非常相似并且编译器没有遇到问题。过去,当我遇到这个问题时,我必须在 .cpp 文件中声明静态成员(例如:Initializator* Initializator::instance; )但现在它对我没有帮助。
【问题讨论】:
-
这是什么编程语言?是 C++ 吗?请用使用的语言标记您的问题。要更新您的问题,请点击帖子下方的 "edit" 链接。谢谢。