0

私はvc6を使用して、次のような構造体を作成しました:

struct FileInfo
{
    char   filename[200] = {0};
    char   ext[20] = {0};
    int    f_size=0;
    int    offset=0;
    char*  pData=0;
};

しかし、error C2059: syntax error : '{'エラーが発生し、内部の配列を正しく初期化する方法がわかりません。

4

1 に答える 1

4

この構造体のインスタンスを作成するときに、メンバーを初期化します。C++ では、これはコンストラクターで行われますが、C では次のように行われます。

struct FileInfo my_file_info = { { 0 }, { 0 }, 0, 0, 0 };

もちろん、コンストラクターを追加したくない場合 (たとえば、構造が C と C++ プログラム間で共有されている場合) は、C の方法を C++ でも使用できます。

于 2013-05-26T15:01:04.327 に答える