1

ヘッダー ファイルで、パブリック メンバー変数として次を宣言しました。

vector< vector<unsigned char> > arImage;

ソース コードでは、temp を定義します。

vector<vector<unsigned char> > temp (numImage, vector<unsigned char>(sizeImage));

今私はしようとします、

temp.swap(arImage);

しかし、エラーが発生しました。(細かいエラーは英語ではないので割愛します)

    with
    [
        _Ty=std::vector<unsigned char>
    ]

//////////// 添加、、、、、、、、

交換したい

    vector<vector<unsigned char> > to vector<vector<unsigned char> >

私はMFCで働いています。適切な方法が見つからないので、実際には別のアプローチを取ります。

ヘッダーファイルで、

    vector< vector<unsigned char> > * arImage;

ソースコードでは、

    arImage = new vector< vector<unsigned char> > (numImage, vector<unsigned char>(sizeImage));

しかし、このアプローチは快適ではありません (このアプローチはエラーではありません)。

arImage[i][j]を使いたいです。

このアプローチでは、 (*arImage)[i][j] を使用する必要があります

4

2 に答える 2

3

ここで間違っているのは、不可能なvector< unsigned char >ベクトルと交換しようとしてvector< unsigned char >いることです。

Vector arImageタイプのアイテムがありますがunsigned char、一時タイプはvector<vector<unsigned char> >一時アイテムですvector<unsigned char>

vector<unsigned char>とスワップできないので理にかなっていunsigned charます。vector< unsigned char >同様に と交換することはできませんvector <vector< unsigned char >>

それがすべてを説明することを願っています。

于 2012-11-22T11:26:48.490 に答える