問題タブ [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.

0 投票する
1 に答える
1717 参照

c++ - エラー C2664: 'send': パラメータ 2 を 'ServerGreeting' から 'const char *' に変換できません

私は C++ の初心者で、C コード (TWAMP RFC5357) を新しいプロジェクト (IPSLA RFC 6812) に移植していますが、この問題に直面しています。

関数sendを使用しようとすると、「エラー C2664: 'send' : パラメーター 2 を 'ServerGreeting' から 'const char *' に変換できません」「この変換を実行できるユーザー定義変換演算子がありません」というエラーが表示されますまたは、オペレーターを呼び出すことができません。」

それで、これについて検索したところ、理解できない答えがいくつか見つかりました。

コードの一部を次に示します。

これで私を助けてもらえますか?ありがとう

0 投票する
1 に答える
87 参照

c++ - 64 ビットのコンパイル時に C++ C2664 によるダウン キャストを処理するためのベスト プラクティス

次のようなパラメーターとして long* を受け入れる公開メソッドがあります。

このメソッド内で、次のように INT64* を受け入れるシステム API を呼び出します。

x64としてコンパイルすると、エラーが発生します(当然のことです):

公開されたメソッドの署名を変更したくありません。下流に多くの影響を与えるからです。p64 が long の制限を超えないことがわかっている場合、この状況に対処する最善の方法は何ですか?

このようなもの?

0 投票する
1 に答える
835 参照

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' に変換できません' "

誰でもいくつかの提案を提供できますか? ありがとうございました!

追加の定義を次に示します。

0 投票する
1 に答える
4994 参照

c++ - C++ コードを実行すると、常に Visual Studio エラー C2664 が発生します。

このコードを使用すると

次のエラーが表示されます

C2664 'int GetKeyNameTextW(LONG,LPWSTR,int)': 引数 2 を 'char [128]' から 'LPWSTR' に変換できません

NameBufferこう言っています。

エラー: タイプ "char*" の引数は、タイプ "LPWSTR" のパラメーターと互換性がありません

任意のヒント?

0 投票する
1 に答える
562 参照

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));

0 投票する
2 に答える
410 参照

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 もコンパイルされました...では、互換性のない型は何ですか?

0 投票する
2 に答える
1061 参照

c++ - エラー C2664: 引数 1 を 'imaging::component_t *' から 'const images::component_t *&' に変換できません

コードのこの部分のタイトルで言及したエラーがあります。

image->setData(*buffer) または image->setData(&buffer) を試しましたが、どちらも機能しませんでした。誰かがこれを修正する方法を知っていれば、私はそれを感謝します。前もって感謝します。

0 投票する
1 に答える
36 参照

c++ - set 変換で小文字の c++ errorC2664 に変換する

transformSTL 関数を使用して、セット内のすべての文字列を小文字に変換しようとしています。しかし、C2664のエラーが発生しました。私のコードの何が問題なのだろうか?