私はlambdasを利用するtbb :: parallel_for関数を使用しています。私は、次のコードで構文エラーを取得しています:Visual Studio 2010 Express EditionでC++ 11コンパイラを有効にするにはどうすればよいですか?
void parallel_relax(Class object, std::vector<Vertex *> verList) {
tbb::parallel_for (blocked_range<int>(0, verList.size()), [=](const blocked_range<Vertex *>& r) {
for(Vertex *vit = r.begin(); vit != r.end(); ++vit) {
Vertex *v = vit;
object.function(v);
}
});
}
構文エラー:
syntax error : '['
1>main.cpp(16): error C2143: syntax error : missing ')' before '{'
1>main.cpp(16): error C2143: syntax error : missing ';' before '{'
1>main.cpp(17): error C2065: 'r' : undeclared identifier
1>main.cpp(17): error C2228: left of '.begin' must have class/struct/union
1> type is ''unknown-type''
1>main.cpp(17): error C2065: 'r' : undeclared identifier
1>main.cpp(17): error C2228: left of '.end' must have class/struct/union
1> type is ''unknown-type''
1>main.cpp(20): error C2059: syntax error : ')'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
私は、これはコンパイラに問題があると思います。 Visual Studio 2010 Express EditionのためのC++ 11コンパイラはどうすれば入手できますか?提案してください。
16,17行目は何ですか? –
"tbb :: parallel_for"は16行目で "for(Vertex * vit = r.begin(); vit!= r.end(); ++ vit)"という行は17行目です – Hello
だから私はできませんWindows 7上ではVisual Studio 2010しか使用できないため、C++ 11を使用しますか?私はMinGW G ++でEclipseを使いたくないのですが、それは醜いと感じています... :( – ha9u63ar