一時的な valarray を繰り返し処理したいのですが、うまくいきません。ここに私の(動かない)コードがあります:
#include <iostream>
#include <valarray>
int main()
{
using namespace std;
valarray<int> numerators = {99, 26, 25};
valarray<int> denominators = {9, 2, 5};
for (int i : numerators / denominators) { cout << i << ","; }
// lots of errors
return 0;
}
以下は、のようなオブジェクトを定義したくないことを除いて、私が達成したいことの最小限の実例ですtemp_array
。
#include <iostream>
#include <valarray>
int main()
{
using namespace std;
valarray<int> numerators = {99, 26, 25};
valarray<int> denominators = {9, 2, 5};
valarray<int> && temp_array = numerators / denominators;
for (int i : temp_array) { cout << i << ","; }
// prints 11,13,5,
return 0;
}
私のコンパイラは g++ バージョン 4.8.5 (Red Hat 4.8.5-4) です。-std=c++0x フラグを付けてコンパイルしています。
for (auto&& i : temp_array)
andなどの他の構文を試しましたがfor (int const & i : temp_array)
、うまくいきません。