問題タブ [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 投票する
2 に答える
2454 参照

c++ - C2664 パラメータを変換できません

このコードを実装していますが、エラーが発生します。

http://curl.haxx.se/libcurl/c/ftpupload.html

エラーはこのコードにあります。

エラーは...

どんなヒントも役に立ちます。関数に void *stream を渡す理由がわかりません。それは一体何の意味ですか?ボイドへのポインタ?

ここで呼ばれます。

カール API

CURLOPT_READFUNCTION

次のプロトタイプに一致する関数へのポインターを渡します。 size_t function( void *ptr, size_t size, size_t nmemb, void *userdata); この関数は、ピアに送信するためにデータを読み取る必要があるとすぐに libcurl によって呼び出されます。ポインター ptr が指すデータ領域は、最大で nmemb バイト数を掛けたサイズで満たすことができます。関数は、そのメモリ領域に格納した実際のバイト数を返す必要があります。0 を返すと、ファイルの終わりがライブラリに通知され、現在の転送が停止されます。

「途中で」0 を返して現在の転送を停止すると (つまり、N バイトをアップロードすると言ったのに N バイト未満をアップロードした場合のように、サーバーがそれを予期する前に)、サーバーが「ハングする」という現象が発生する可能性があります。 「来ない残りのデータを待っています。

読み取りコールバックは CURL_READFUNC_ABORT を返して現在の操作を即座に停止し、転送から CURLE_ABORTED_BY_CALLBACK エラー コードが発生する場合があります (7.12.1 で追加)。

7.18.0 以降、この関数は CURL_READFUNC_PAUSE を返すことができ、これによりこの接続からの読み取りが一時停止されます。詳細については、curl_easy_pause(3) を参照してください。

バグ: TFTP アップロードを行う場合、コールバックが必要とする正確な量のデータを返す必要があります。そうしないと、サーバー側で最終パケットと見なされ、そこで転送が終了します。

このコールバック ポインタを NULL に設定するか、まったく設定しない場合、デフォルトの内部読み取り関数が使用されます。CURLOPT_READDATA で設定された FILE * userdata に対して fread() を実行しています。

私は私の深さから少し外れています。

0 投票する
4 に答える
5107 参照

c++ - クラス オブジェクトをベクトルにプッシュ バックする

クラス オブジェクトを取り込むベクターがありますが、作成したオブジェクトをベクターにプッシュ バックしようとすると、これらの問題が発生し、回避する方法がわかりません。誰でも私を助けてくれますか?

オブジェクトクラスの作成

オブジェクトクラス変数の一致

エラー C2664: パラメーター 1 を 'N_V::NV' から 'N_V::NV *&&' に変換できません

また、IntelliSence no instance of overload function というエラーが発生し続けます

0 投票する
0 に答える
1198 参照

c++ - c++ chronosteady_clock が system_clock 時間を返さないようにするにはどうすればよいですか?

特定のメソッドのオプションの時間制約を処理するクラスを書いていたので、std::chrono名前空間からクラスを取得して時間を定義する方法を指定します。指定された値を超えると期限切れになるはずのこのメソッドをテストしようとしていましたtime_point:

メソッドの呼び出しに最初に失敗した後、 を使用する必要があることに気付きましたstd::chrono::time_point_cast。メソッド呼び出しは次のようになります。

次の IntelliSense エラーが発生します。

コンパイルしようとすると、次のようになります。

理由はわかりませんが、time_point返される bysteady_clockは代わりに使用する time_point ですsystem_clock。特にtime_point_castを usesteady_clockに設定しても、常に が表示されますsystem_clocksteady_clockの代わりに を使用すると、クラスが完全に使用できなくなることを考えると、これは本当に面倒ですsystem_clocksteady_clocksystem_clockが実質的に同じものである場合、2つの間の時間を変換するために欠けている方法はありますか?

編集: Visual Studio Professional 2012 を使用しています。また、現時点では役に立たないように見えますが、steady_clockから派生しているようです。system_clock

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

c# - エラー C2664 - ヘルプと説明が必要

  1. 私はCOMコンポーネント( dll )ThirdPartyがインターフェースを定義し、このインターフェースを実装するいくつかのCOMクラス ThirdPartyObjectClass を持っています。C++ でコンパイルできる適切なファイル ThirdParty.h と ThirdParty_i.c があります。

    /li>
  2. 「tlbimp /sysarray」を使用して、ThirdPartyInterop.dll という名前の相互運用 dll をビルドします。これにより、.Net インターフェイス ThirdPartyObject が公開されます。

  3. ThirdPartyInterop.dll への参照を持つ新しい C# コンポーネントを作成します。

    /li>

ThirdPartyClass のメタダダは次のとおりです。

マネージ C++ で記述された古いコードがあります。

CsClass を使用するように変更する必要があります。

しかし、これはコンパイルできません: エラー C2664: 'CsComponent::CsClass::NetFoo' : パラメーター 1 を 'IThirdParty *' から 'ThirdPartyInterop::ThirdPartyObject ^' に変換できません

次の実装は問題ありません。

しかし、CppFoo の引数 thirdParty を使用する必要があります。

私の質問は:

指定された IThirdParty* から ThirdPartyInterop::ThirdPartyObject を作成する方法は?

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

c++ - C2664 エラー C++ Visual Studio

古い MFC プログラムを変更しようとしています。Visual Studio 2013 でプロジェクトを開いた後、以下のタイプのエラーが多数発生します。

AviPlay.cpp で

スローされるエラーはエラー C2664 です: 'MCIERROR mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND)' : 引数 1 を 'const char [14]' から 'LPCWSTR' に変換できません

Strict のコンパイラ オプションをオフに設定するか、その他のコンパイラ オプションを設定すると、このエラーを解決できますか? そうでない場合は、多くのコード行を手動で変更できます。その場合、過去 15 年間に何が変更されて、このようなコードが以前は OK でしたが、現在は OK でなくなったのでしょうか?

前もって感謝します。

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

c++ - エラー C2664 古い crypto++ ライブラリに基づく DLL のコンパイル

私はC++プログラマーではなく、VS2010でcrypto++ライブラリに基づいて古いDLL(VS6だと思います)をコンパイルしようとしています.暗号化されたものを読むことができる別の言語

DLL をコンパイルしようとすると、このコードの最初の型名でエラー C2664 が発生します。

私はGoogleを持っていましたが、答えを変更できるほど十分に理解していません

ビルドで表示される実際のエラーはこれです

しかし、それが使用する単語が見つからないように見えるので、ダブルクリックしたときにそれが指す行にどのように関連するのかわかりませんか?

お時間とご支援をいただき、誠にありがとうございます。

PS 使用されている暗号化方法のいずれかが変更されているかどうかわからないため、おそらくコンパイルされるライブラリの新しいバージョンは見ていません

出力ウィンドウの完全な内容は次のとおりです

ライブラリ全体でテキスト「max_size」への唯一の参照はこれらであり、それらはすべて secblock.h というファイルに含まれています。

これは、interfaces.cpp ファイルです。うまくいけば、それはあなたが意味したものです

0 投票する
4 に答える
2770 参照

c++ - VS 2013 C++ のエラー c2664

そのため、「music」というクラスがあり、コードをコンパイルしようとすると、次のエラーが表示されます。

エラー 13 エラー C2664: 'music::music(const music &)': 引数 2 を 'const char [5]' から 'char' c:\users\andrei bordeianu\documents\visual studio 2013\projects\mediaplus に変換できません\mediaplus\source.cpp 362 1 メディアプラス

14 IntelliSense: コンストラクター "music::music" のインスタンスが引数リストに一致しません。引数の型は次のとおりです: (const char [5]、const char [5]、const char [4]、const char [12]、int、const char [8]、const char [5]、int) c:\Users\Andrei Bordeianu\Documents\Visual Studio 2013\Projects\MediaPlus\MediaPlus\Source.cpp 361 11 MediaPlus

これはクラスです:

これがメインです:


わかりました、あなたの提案を試して、文字列に変更しました。今、私のアプリは次のようになります:

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

エラー 1 エラー C2440: 'return': 'std::string' から 'char' に変換できません c:\users\andrei bordeianu\documents\visual studio 2013\projects\mediaplus\mediaplus\source.cpp 50 1 MediaPlus

等...

この問題を解決するにはどうすればよいですか? ありがとう!