6

我需要将用 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++。所以,请帮助我。

4

1 回答 1

5

initializer_list您可以选择传递一对迭代器,而不是一个。但是您也必须更改客户端代码。

如果它是一个写得很好的类,它必然会有其他的构造函数,比如我提到的那个。在这种情况下,我建议只删除需要initializer_list. 如果使用该构造函数,客户端代码也可能必须更改。

于 2011-07-25T07:28:22.357 回答