0

私の構造は次のとおりです。

struct Candidate { 
    float pertotal, voteper; 
    string name; 
    int voten, votem, votese, votesw, total;
};

name に null 値を割り当てる必要があります。私が試してみました:

struct Candidate { 
    float pertotal, voteper; 
    string name = 0; 
    int voten, votem, votese, votesw, total;
};

struct Candidate { 
    float pertotal, voteper; 
    string name = ""; 
    int voten, votem, votese, votesw, total;
};

しかし、それは好きではないようです.. アイデア?

4

2 に答える 2

4

Candidateインスタンスではなくタイプです。

ただし、これを行うことができます。

Candidate cand;

cand.name = "";

または、コンストラクターを作成することもできます。

struct Candidate {
    Candidate() : name("") {}

    ...
};

ただし、この場合、これらのいずれかを実行する必要はありません。これは、の既定のコンストラクターがstd::string空の文字列になるためです。

于 2012-05-01T21:58:52.487 に答える
2

std::stringデフォルトでは空に構築されているため、何もする必要はありません。

ただし、(そのクラスのオブジェクトが作成されたときに) 何か他のものを入れる必要がある場合は、コンストラクターが必要です。

インスタンスをすでに作成している場合:

Candidate c;

そして、文字列を空の文字列に戻したい場合は、次のように割り当てます。

c.name = "";
于 2012-05-01T21:58:39.077 に答える