转换初始化器列表



我需要将c++ 0x编写的类转换为Visual studio 2008中编译的类。代码使用std::initializer_list。

下面是代码
template <typename data_type>
class symmatrix
{
public:

    typedef data_type         value_type;
    symmatrix(std::initializer_list<T> const& size, value_type ini = value_type())
      : m_data(0), m_memory(false) { resize(size); *this = ini; }
}

必须转换为VS 2008可以理解的旧标准。

我真的很难把100行新的c++代码改成旧的c++。所以,请帮帮我。

可以选择传递一对迭代器来代替initializer_list。但是你也必须修改客户端代码。

如果它是一个编写良好的类,那么它必然具有其他构造函数,例如我提到的构造函数。在这种情况下,我建议只移除占用initializer_list的过载。如果客户端代码使用该构造函数,则可能也必须更改。

最新更新