配列とベクトルの交点を取得しようとしています。cplusplus.com が例を示しているため、両方をベクトルにすることにしました。
これは私が得るエラーメッセージです:
ここに私のコードがあります:
関数はgetNumbers()
配列を返します。
編集
関数は次のgetNumbers()
とおりです。同じ戻り値の型のプロパティを返すだけです。
配列とベクトルの交点を取得しようとしています。cplusplus.com が例を示しているため、両方をベクトルにすることにしました。
これは私が得るエラーメッセージです:
ここに私のコードがあります:
関数はgetNumbers()
配列を返します。
編集
関数は次のgetNumbers()
とおりです。同じ戻り値の型のプロパティを返すだけです。
通常、このアサーションは、範囲の開始と終了として指定された反復子が異なるコレクションを参照することを意味します。
関数は
getNumbers()
配列を返します。
getNumbers()
参照によって配列を返し、同じ配列への参照も返さない限り、この初期化は無効です。
std::vector<unsigned int> ticketNumbers(getNumbers().begin(), getNumbers().end());
上記が機能するためにはgetNumbers()
、同じ配列への参照を繰り返し返す必要があります。配列getNumbers
を値で返すため、コピーを返します。
この行を修正するには、まず を呼び出し、結果を次のようgetNumbers()
に一時変数に格納しますtempNumbers
std::array<unsigned int, TICKET_BALL_COUNT> tempNumbers= getNumbers();
std::vector<unsigned int> ticketNumbers(tempNumbers.begin(), tempNumbers.end());
または、次のように参照getNumbers()
を返すように関数を変更することもできます。const
const std::array<unsigned int, TICKET_BALL_COUNT>& Ticket::getNumbers() const {
return _numbers;
}