問題タブ [variadic]
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# - P/可変個引数の署名を使用して関数を呼び出す
次の署名を持つネイティブDLLから関数をインポートするC#.NET2.0CFアプリケーションがあります。
私のC#アプリケーションP/は次のように機能します。
しかし、を呼び出すMyObject.Foo
と、が表示されSystem.MissingMethodException
ます。
これを機能させるには何を変更する必要がありますか?
ありがとう、PaulH
編集:インポート定義を次のように変更した場合:
次に、電話します。
それは問題なく動作するので、それは私の__arglist
使用法に何かあります。
cocoa - Cocoa-別の可変個引数メソッドから可変個引数メソッドを呼び出す(NSString stringWithFormat呼び出し)
IDが返されるため、問題が発生し[NSString strigWithFormat:format]
ます。また、NSString変数を他の個人用タイプに変更したコードがたくさんあります。しかし、コンパイラは、NSStringが別のタイプのオブジェクトに設定される場所があることを妨げません。
だから私はNSStringのカテゴリを書いていて、へのすべての呼び出しを置き換えるつもりstringWithFormat
ですmyStringWithFormat
。
コードは:
コンパイラは、「フォーマットは文字列リテラルでもフォーマット引数でもない」と言っています。
これを機能させる方法はありますか?
c++ - VS2010 C++ 可変個引数テンプレートの例
私はクラス テンプレートを持っていますが、Variadic Template スタイルのインスタンス化を実行する方法がわかりません。
これまでのところ、私が探している「コード」は次のとおりです。
明らかに、これはコンパイルされません:)。アイデアは、渡された値をコンストラクターに格納できるクラスを作成し (ある場合は、_Classname/U が定義されているだけかもしれません)、後で取得して別の関数で m_Functor に渡すことができるようにすることです。
最初: Variadic Template は VS2010 でも実行できますか? error C2143: syntax error : missing ',' before '...'
行からのテンプレート宣言だけでコンパイルの問題が発生していますtemplate<typename _Classname, typename... Args>
第二に、私が達成しようとしていることは実行できますか? ありがとう!
c++ - 位置NでC++可変個引数テンプレート定数引数の値を取得する適切な方法は何ですか?
位置N(Nはコンパイル時に既知)で可変個引数テンプレート定数引数の値を取得する正しい方法を知りたいです。たとえば、可変個引数の関数ポインターを引数として受け取るテンプレートがあり、2番目の関数ポインターを取得する必要があるとします。今のところ、私が思いついたのはこれだけです...
...言うまでもなく、これは非常にハックです。これを行うためのより良い方法はありますか?ありがとう。
編集:
typedeftemplateのコードに基づいて、可変個引数テンプレートの引数として任意の型を受け入れることができるバージョンを作成しました。GCC4.6の実験的なビルドで動作することがテストされています。私はそれが他の誰かに役立つかもしれないと思ったので、そこにあります...
c++ - 再帰的な Variadic テンプレート関数のコンパイル エラー
Code::Blocks で単純な可変個引数テンプレート テストを用意しましたが、エラーが発生します。
「OutputSizes()」の呼び出しに一致する関数がありません
ここに私のソースコードがあります:
でGNU GCCを使用してい-std=C++0x
ます。使用し-std=gnu++0x
ても違いはありません。
assembly - vararg関数はどのようにしてマシンコードの引数の数を見つけますか?
printfのような可変個引数関数は、取得した引数の数をどのように見つけることができますか?
引数の量は明らかに(非表示の)パラメーターとして渡されません(ここのasmの例でprintfの呼び出しを参照してください)。
トリックは何ですか?
reflection - 可変個引数引数とリフレクションの配列定義の違い
次の2つのコードがあります。
次に、リフレクションを使用して上記のメソッドのメソッドインスタンスを取得します。
m1.getParameters()およびm2.getParameters()は、クラスインスタンスの等しいリストを返します。m1の引数とm2の引数は両方とも配列として表されます。しかし、実際にはそれらは同じではありません。コンパイラは許可しません
質問は:
パラメータが可変個引数であるか、通常の配列であるかを指定するフラグはありますか?
objective-c - Objective-C の可変長パラメータ
Objective-Cで可変長パラメータを持つクラスメソッドを作成するにはどうすればよいですか?
たとえば、-arrayWithObjects のようなメソッド:
c++ - C++ マクロから文字列リストと列挙型リストを作成する
コードを短くして変更しやすくするために、次のようなものを置き換えたい
INIT(AAA, BBB, CCC); のようなマクロを使用します。しかし、変数引数を使用してマクロを実行しようとすると、引数が宣言されていないため、エラーが発生します。
これを行う方法について何か考えはありますか?
c++ - 可変個引数テンプレートへの参照の受け渡し
イベントライブラリに取り組んでいますが、可変個引数テンプレートで問題が発生しています。
参照をパラメーターとして渡すことができないという事実を除いて、すべてが非常にうまく機能しています...
これは私の問題を明らかにするために書かれた非常に単純化された例です。
すべてのDelayedSignalインスタンスを単一のstd::listインスタンスに登録するときに、クラス自体でテンプレートを使用することを避けたいので、代わりにコンストラクターでテンプレートを使用します。すべてのDelayedSignalのベースとして純粋仮想クラスを使用し、仮想クラスへのポインターをstd :: listに登録することもできますが、仮想メソッドの使用を最小限に抑えるのが最善だと思います。この問題に本当に興味があります...
この例でわかるように、test02とtest04は、アクティブ化されるとエラーを返します。DelayedSignal_DebugHelperは、Argsテンプレート(メソッドテンプレート引数)の代わりに最後のコンストラクターでArgsBis(クラステンプレート引数)を使用するという事実を除いて、DelayedSignalとほぼ同じです。それ以外の場合は、(DelayedSignalのように)機能しません。Argsは受け入れられますが、同じコンストラクター宣言に含まれているという事実にもかかわらず、受け入れられvoid(C::*func)(Args...)
ません。ArgsBis... args
私の知る限り、参照がない限り(DelayedSignal test04(&Signal<void, Klass>::fire, signal_01, k);
たとえば)、または複数のパラメーターがない(またはない)限り、問題はありません。
この問題を解決する方法はありますか?
ありがとうございました。