私は現在、3つのメンバーのうちの2つだけを初期化する構造体を持っています。私は意図的にこれを行います。なぜなら、創造の時代には、価値がどうなるかはわかりません。私はこれを行うと部分的に初期化された構造体オブジェクトをベクターに配置する方法は?
struct my_data {
my_data(int x_, int y_) {
x = x_;
y = y_;
}
int x;
int y;
double z = 0;
};
int main() {
std::vector<my_data> my_vec;
my_vec.resize(10);
my_vec[0] = {3,4};
}
私はerror: no matching function for call .... _T1(std::forward<Args ..
はこのエラーを回避する方法はありますか私は、コンストラクタのパラメータとしてでもz
を含める必要があります取得します。あなたはデフォルトのコンストラクタ必要
は、デフォルトコンストラクタのvector.resize()の呼び出しのためのものですか? – solti
@solti、yes - vector.resize()はそれを期待しています。 'my_vec [0] = {3,4};で何が間違っていますか? – marcinj
よっ!ありがとうございました。申し訳ありませんがabt 'my_vec [0] = {3,4};'それは私の悪い..あなたはそれを無視することができます – solti