2016-11-13 7 views
0

オブジェクト::C++私は1つのベクトルを持っているのstd ::ベクトル<float>のconstを作成&

static const std::vector<float> vector1 

とベクトルの一つの基準:

std::vector<float> const& vector2 

私はこれらのベクトルの値を乗算する必要がありますお互いに新しいベクトルにそれらを格納します。例えば

result[0]=vector1[0]*vector2[0] 
result[1]=vector1[1]*vector2[1] 

その後、私は唯一の受け入れ方法には、このベクトルを与える必要があります。

std::vector<float> const& result 

を私はC++でこれを行うにはどうすればよいですか?アドレスではありません

+0

、それは参照です。あなたはCとC++のコンストラクトを混ぜています。 –

+0

関連:https://stackoverflow.com/questions/8511035/sequence-zip-function-for-c11#8513803しかし、あまりにも多くの依存性を持っている可能性があります – WorldSEnder

+0

参照先 – Peter111

答えて

5
std::vector<float> result; 
std::transform(
    vector1.begin(), vector1.end(), 
    vector2.begin(), 
    std::back_inserter(result), std::multiplies<float>()); 

CallMethodThatTakesReferenceToVector(result); 

Demo

+0

に変更されたアドレスこの動作しないようです。コンパイルエラーが発生し、変換がオーバーロード関数を見つけることができません。 StoryTellers編集作業 – Peter111

+1

修正されました。今すぐ働かなければならない。 –

関連する問題