我需要将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
的过载。如果客户端代码使用该构造函数,则可能也必须更改。