VC++通用Singleton实现编译器错误
VC++ Generic Singleton Implementation Compiler Error
所以,假设我有这样的东西:
template <class T>
class SingletonHolder : public T
{
public:
static SingletonHolder<T>& getInstance()
{
static SingletonHolder<T> instance;
return instance;
}
private:
SingletonHolder()
{
}
virtual ~SingletonHolder()
{
}
};//class SingletonHolder
然后说我有一些伪类:
class SomeClassForCheck
{
public:
int someF()
{
return 5;
}
};
然后是singleton的用法:
typedef SingletonHolder< SomeClassForCheck > SomeClassSingleton;
然后,当我从SomeClasse的CPP文件(在任何函数之外)调用此代码时:[背后的想法是基本上使用这个技巧将创建者函数注册到Singleton Factory类]
//该代码是从.CPP文件中的匿名命名空间调用的SomeClassSingleton::getInstance().someF();
Visual C++尖叫错误:
该声明没有存储类或类型说明符
此代码在GCC和C++Builder下工作。到目前为止,我还没有使用过Visual C++,那么我做错了什么:)?
谢谢!独山
是的,正如@The Dark所说,
在函数调用前面添加声明:
//换句话说:bool-success=:)
bool success=FileIndexerFactory::getInstance().registerNew(MP3_INDEXER,mp3IndexerCreator);
工作时间:)
这就是我在凌晨4:38从编码中得到的:)
相关文章:
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++,我收到一个无法理解的编译器错误
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 重载方法的方式会在使用临时调用时生成编译器错误
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- 编译器错误:destuctor 的更宽松的抛出说明符
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- C++ G++ 编译器 - 错误:隐式声明的定义
- 这个失败的测试是将零添加到空指针未定义的行为、编译器错误还是其他什么?
- 模板模板参数和模板别名:编译器错误?
- C++ 编译器错误:P1LinkedList.cpp:145:错误:重载的"to_string(int&)"调用不明确
- 在gcc中意外调用了Const重载.编译器错误或兼容性修复程序
- C1001内部编译器错误是由于矢量初始化(如数组)引起的
- 编译器错误(英特尔并行工作室 2019 与 Visual Studio 社区 2019)
- 如何在C++中克服此 C4430 编译器错误?
- 尝试使用 WinBGI 显示文本时出现编译器错误
- 使用typedef'ed返回类型声明友元函数时出现编译器错误
- 如何在类模板的成员函数中正确调用函数对象?正在生成 Visual Studio 编译器错误 C2440
- C++自定义分配器大小参数作为模板参数会引发编译器错误