【发布时间】:2015-04-02 09:39:25
【问题描述】:
对于我想在boost::variant 中使用的类型Foo,我想将默认构造函数设置为private,因为它只应允许由boost::variant 调用。
遗憾的是,我还没有弄清楚boost::variant 的声明魔法,只是简单地声明
struct Foo {
private:
Foo();
template <class T1, class T2>
friend class boost::variant<T1, T2>;
};
也没有编译。有什么方法可以做到这一点还是我需要保留Foo()public?
【问题讨论】:
标签: c++ boost c++98 boost-variant