タグ付けされた質問 「function-parameter」

10
(実際の関数定義と比較して)パラメーターのない関数がコンパイルされるのはなぜですか?
私は、なぜそれがコンパイルされているのか混乱している誰かのCコードに出くわしました。わからないことが2点あります。 まず、関数プロトタイプには、実際の関数定義と比較してパラメーターがありません。次に、関数定義のパラメーターに型がありません。 #include <stdio.h> int func(); int func(param) { return param; } int main() { int bla = func(10); printf("%d", bla); } なぜこれが機能するのですか?いくつかのコンパイラでテストしましたが、問題なく動作します。

30
関数のパラメーター名/値を動的に取得するにはどうすればよいですか?
関数の関数パラメーター名を動的に取得する方法はありますか? 私の関数が次のようになっているとしましょう: function doSomething(param1, param2, .... paramN){ // fill an array with the parameter name and value // some other code } では、関数の内部からパラメーター名とその値のリストを配列に取得するにはどうすればよいでしょうか。


4
c ++ 0x:参照によりパラメーターとしてラムダを受け取る適切な方法
int->int参照によってラムダパラメーターを受け取る関数を定義する正しい方法は何ですか? void f(std::function< int(int) >& lambda); または void f(auto& lambda); 最後の形式が正当な構文であるかどうかはわかりません。 ラムダパラメーターを定義する他の方法はありますか?

3
int(0)からベクター内のポインターへの暗黙的な変換を回避する方法
JSONでキーへのパスのすべてのノード名を収集したい状況があります。配列インデックス「0」、「1」の条件も許可されていることを考慮してください。ただし、引用符を忘れがちであり、逆参照するとクラッシュする可能性があります。これを拒否したいのですが。例: #include <vector> #include <iostream> int func(const std::vector<const char*>& pin) { return pin.size(); } int main() { // {"aname", "3", "path", "0"} wanted but this still compile std::cout << func({"aname", "3", "path", 0}) << std::endl; } 私はこれを見つけて試してみました非構築関数の暗黙的な変換をどのように回避しますか?次のように: #include <vector> #include <iostream> int func(const std::vector<const char*>& pin) { return pin.size(); } …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.