ser*_*gej 5 c++ g++ friend c++11 g++4.8
考虑以下C++代码:
template <class T>
class Singleton {};
class ConcreteSingleton : public Singleton<ConcreteSingleton> {
template <class T>
friend class Singleton;
};
int main() {}
Run Code Online (Sandbox Code Playgroud)
Singleton应该是一个朋友的ConcreteSingleton:
它适用于Microsoft的visual C++编译器.但是,我无法用g ++ 4.8.4编译它.错误是:
Run Code Online (Sandbox Code Playgroud)error: specialization of ‘Singleton<ConcreteSingleton>’ after instantiation template <class T> friend class Singleton;
有没有办法解决它?
从其评论中窃取的解决方法:
\n\n template <class T>\n friend class ::Singleton;\n// \xe2\x96\xb2\xe2\x96\xb2\nRun Code Online (Sandbox Code Playgroud)\n\n\n
| 归档时间: |
|
| 查看次数: |
535 次 |
| 最近记录: |