問題タブ [c2664]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - エラー C2664: 'send': パラメータ 2 を 'ServerGreeting' から 'const char *' に変換できません
私は C++ の初心者で、C コード (TWAMP RFC5357) を新しいプロジェクト (IPSLA RFC 6812) に移植していますが、この問題に直面しています。
関数sendを使用しようとすると、「エラー C2664: 'send' : パラメーター 2 を 'ServerGreeting' から 'const char *' に変換できません」「この変換を実行できるユーザー定義変換演算子がありません」というエラーが表示されますまたは、オペレーターを呼び出すことができません。」
それで、これについて検索したところ、理解できない答えがいくつか見つかりました。
コードの一部を次に示します。
これで私を助けてもらえますか?ありがとう
c++ - 64 ビットのコンパイル時に C++ C2664 によるダウン キャストを処理するためのベスト プラクティス
次のようなパラメーターとして long* を受け入れる公開メソッドがあります。
このメソッド内で、次のように INT64* を受け入れるシステム API を呼び出します。
x64としてコンパイルすると、エラーが発生します(当然のことです):
公開されたメソッドの署名を変更したくありません。下流に多くの影響を与えるからです。p64 が long の制限を超えないことがわかっている場合、この状況に対処する最善の方法は何ですか?
このようなもの?
c++ - 64 ビット プラットフォームでのコンパイラ エラー C2664
Visual Studio 2012 で win 32 プラットフォームを使用してコンパイルおよび実行するプログラムがあります。プラットフォームを X64 に変更すると、次のエラー メッセージが表示されます。
" test_integration.cpp(27): エラー C2664: 'hcubature_v' : パラメーター 2 を 'int (__cdecl *)(unsigned int,unsigned int,const double *,void *,unsigned int,double *)' から 'integrand_v' に変換できません' "
誰でもいくつかの提案を提供できますか? ありがとうございました!
追加の定義を次に示します。
c++ - C++ コードを実行すると、常に Visual Studio エラー C2664 が発生します。
このコードを使用すると
次のエラーが表示されます
C2664 'int GetKeyNameTextW(LONG,LPWSTR,int)': 引数 2 を 'char [128]' から 'LPWSTR' に変換できません
はNameBuffer
こう言っています。
エラー: タイプ "char*" の引数は、タイプ "LPWSTR" のパラメーターと互換性がありません
任意のヒント?
c++ - VS 2015 でマップ挿入により C2664 エラーが発生し、VS 2013 で動作する
このコードは VS 2013 では完全に機能していましたが、VS 2015 に更新する必要があり、エラーが発生しました。
https://msdn.microsoft.com/en-us/library/s5b150wd.aspxを読み、かなりグーグルで検索しましたが、これを修正する方法はまだわかりません。
固有数学ライブラリを使用して、3D 数学を実行しています。Eigen の Vector3d クラスはコンテナーのキーとして使用できないため、この問題を回避するために独自の Vector3dLite クラスを作成しました。
コンパイラがエラーをスローする場所は次のとおりです
コンパイラエラーは次のとおりです。
Vector3dLite オブジェクトの前に const を記述しようとしましたが、明らかに構文が正しくありません。
VertexIds.insert(make_pair(const Vector3dLite(tri.Vert1), unique_vertid));
c++ - 2 つの異なるコンパレータを 1 つのテンプレート関数に渡すことができないのはなぜですか?
ここで数時間頭を悩ませていますが、このコードを実行しようとしたときにエラーが発生する理由がまだわかりません。しばらくして、次の式に絞り込むことができました。
これが問題の原因です-ご覧のとおり、ソートの1つのテンプレート関数に対して多数のコンパレータを作成しようとしています
5 つのエラーが表示されますが、すべて同じです。
重大度コード 説明 Project File Line Suppression State Error C2664 'bool Bakery::pastryPrice::operator ()(const Pastry *,const Pastry *) const': 引数 1 を 'Deliver *' から 'const Pastry *' に変換できません Bakery c :\プログラム ファイル (x86)\マイクロソフト ビジュアル スタジオ 14.0\vc\include\xutility 809
そしてもう1つ:
重大度コード 説明 Project File Line Suppression State Error C2056 illegal expression Bakery c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility 809
上で書いた式を外すと、コードは問題なく動作します。1 つのテンプレート関数に 2 つの異なるコンパレータを渡せないのはなぜですか?
今:
C2264 は、互換性のない型のパラメーターを関数に渡そうとしたときに発生するコンパイラ エラーです。
しかし、Deliver 関数は機能し、Deliver コンパレータを外すと、Pastry もコンパイルされました...では、互換性のない型は何ですか?
c++ - エラー C2664: 引数 1 を 'imaging::component_t *' から 'const images::component_t *&' に変換できません
コードのこの部分のタイトルで言及したエラーがあります。
image->setData(*buffer) または image->setData(&buffer) を試しましたが、どちらも機能しませんでした。誰かがこれを修正する方法を知っていれば、私はそれを感謝します。前もって感謝します。
c++ - set 変換で小文字の c++ errorC2664 に変換する
transform
STL 関数を使用して、セット内のすべての文字列を小文字に変換しようとしています。しかし、C2664のエラーが発生しました。私のコードの何が問題なのだろうか?