Lambdaエラーを使用したC ++ソート -- c++ フィールド と lambda フィールド 関連 問題

C++ sort using lambda errors












2
vote

問題

日本語

比較関数で別の配列を使用するためにラムダを使ってアレイを並べ替えようとしています。より大きな関数の内側に、私はこのコードを持っています:

<事前> <コード> std::sort(arr.begin(), arr.end(),[] (int& a, int& b) { return (*i)[a] < (*i)[b]; });

収入関数に次のエラーが発生します。

<事前> <コード> mcmc.cpp:139: error: expected primary-expression before ‘[’ token mcmc.cpp:139: error: expected primary-expression before ‘]’ token mcmc.cpp:139: error: expected primary-expression before ‘int’ mcmc.cpp:139: error: expected primary-expression before ‘int’

コンパイル時には、-std = c ++ 0xオプションも含めています。

私は何が起こっているのかについて混乱しています。何らかの理由で、構文が有効なと認識されていないようです。私は念のためにyumアップデートをしましたが、まだラムダの使用を認識していないかのようです。

英語

I'm trying to sort an array using a lambda to use another array in the comparison function. Inside a larger function, I have this code:

std::sort(arr.begin(), arr.end(),[] (int& a, int& b) {            return (*i)[a] < (*i)[b]; });    

I get the following errors in the containing function:

mcmc.cpp:139: error: expected primary-expression before ‘[’ token mcmc.cpp:139: error: expected primary-expression before ‘]’ token mcmc.cpp:139: error: expected primary-expression before ‘int’ mcmc.cpp:139: error: expected primary-expression before ‘int’ 

When compiling, I'm including the -std=c++0x option as well.

I'm confused about what's going on. For some reason, it doesn't seem to recognize my syntax as valid. I did a yum update just in case, but it still seems as if it just doesn't recognize the use of lambdas.

</div
     
         
         

回答リスト

8
 
vote
vote
ベストアンサー
 
C ++ 11件のラムダは、少なくともGCC / G ++ 4.5が必要です。

、彼らはG ++ 4.4と仕事ます。

ではないでしょう

を参照してください。 http://gcc.gnu.org/projects/cxx0x.htmlする (または、それが今停止しているので、キャッシュされたバージョンの)

 

C++11 lambdas require GCC/G++ 4.5 at least, they won't work with G++ 4.4.

See http://gcc.gnu.org/projects/cxx0x.html (or, since it is down right now, the cached version).

</div
 
 
       
       

関連する質問

3  difflib.SequenceMatcher isJunkオプションパラメータクエリ:空白、タブ、空の行を無視する方法?  ( Difflib sequencematcher isjunk optional parameter query how to ignore whitespac ) 
difflib.SequenceMatcherを使用して2つのファイル間の類似点を計算しようとしています。これら2つのファイルはほとんど同じですが、追加の空白、空の行などが含まれていない点がほとんど同じです。私はを使おうとしています <事前> <コード> s...

9  各項目の最新バージョンのみをリストに入れるための副選択とグループビリーを持つLINQ  ( Linq with subselect and groupby to get only the latest version of each item in a ) 
LINQになると初心者です... 私は異なるバージョンの回答を含むIenumerable genericリストを持っています(それぞれ質問にFKを持つ)。このリストから、私は最新バージョンの辞書だけを取得する必要があります。 非常に単純化されたクラス図: ...

3  パラメータを持つコンストラクタを持つクラスを作成するためのプリコンパイルされたLambda式  ( Pre compiled lambda expression to create class that has a constructor with a par ) 
現在 Activator.CreateInstance を使用して、タイプがgenericパラメータとして渡されたクラスのインスタンスを作成します。問題は、これがひどく遅いです。プリコンパイルされたラムダ表現を使用して同じことをできることをどこかに読みましたが...

11  AWS Lambda HTTP POSTリクエスト(node.js)  ( Aws lambda http post request node js ) 
AWS Lambda関数とnodejsに比較的新しいです。このウェブサイトからHTTP POSTリクエストを使用して、国内の5都市のリストを試してみてください。 REL = "NOREFERRER"> http://www.webservicex.net/g...

86  関数ポインタ、クロージャ、およびラムダ  ( Function pointers closures and lambda ) 
関数ポインタについて学んでいるだけで、私はK&AMPを読んでいるように、主題についてのRの章である。私を襲った最初のことは、「ねえ、これは閉鎖のようなちょっとです」。私はこの仮定が何らかの経過、検索の後で、この比較のどの分析を見つけられなかったかについて、この...

0  表現はなぜIdentityEqualityをサポートしていないのですか?  ( Why expressions doesnt support identityequality ) 
href="http://wist-orm.com/post/expressions-has-no-idityEqualital-Operator.aspx" REL="NOFOLLOW NOREFERRER"> ExpressionTypeに Identi...

338  Lambdaを使用する場合は、PROC.NEWを使用するには?  ( When to use lambda when to use proc new ) 
Ruby 1.8では、片手でProc / Lambdaと Proc.new の間には微妙な違いがあります。 それらの違いは何ですか? どのかを選択する方法についてガイドラインを与えることができますか? Ruby 1.9では、PROCとLAMBDAは異な...

4  式からメソッドを呼び出す  ( Calling a method from an expression ) 
Expression.callを使用する場合は、「any」の種類と引数を行いますか? 私は私がどれでも使いたいという内側と外観を持っています。式はプログラム的に構築されています。 内部(この作品): <事前> <コード> ParameterExpressi...

12  参加者とラムダとLINQ、ああ私の!  ( Delegates and lambdas and linq oh my ) 
かなりジュニア開発者として、私の知識の中で私の経験の欠如と穴を強調している問題に遭遇しています。ここでのプリアンブルが長すぎるとすみません。 私は、とりわけLINQ(オブジェクトへ、そしてこのプロジェクトの目的のためにXMLへ)を含む、私の新しい(私にとって)...

11  イベントハンドラーと匿名の代理人/ Lambda式  ( Eventhandlers and anonymous delegates lambda expressions ) 
私は、少なくとも自分自身のために、C#のイベントハンドラのための方法を作成するために使用されている匿名の代理人とLambdaの表現でいくつかをクリアすることを望んでいます。 匿名の委任またはラムダ式を追加するイベントがあるとします(新しいバージョンの.NETを...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有