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 に答える