関数定義で関数宣言を使用するのは正当なC++ですか?関数定義の関数宣言
0
A
答えて
4
これは、即時ブロックスコープ内の宣言と、ローカルクラスのメンバー関数としての関数定義の両方として有効です。
void f() {
// this declares the function defined below (enclosing namespace)
void g();
g();
}
void g() {
struct {
void help() { ... }
} h;
h.help();
}
3
はい、そうです。この質問は簡単に答えることができました。あなたはそれを試して見たことがあります。実際、あなたがこれを行うことができるという事実は、面白いC++エラーの原因の1つです:
class A {
public:
operator int() const { return 0; }
};
void joe()
{
// Initializing an int?
int fred(A());
}
1
はい、それは合法です。 C++の仕様を参照
は、関数定義(8.4)の本体は、順番に(6.3)宣言することができる一つが一つ以上の文を含み、化合物文を含有します計算。
関連する問題
- 1. 関数定義のVoid引数で、宣言のプリミティブデータ型です
- 2. ブートストラップ関数宣言
- 3. ジェネリック関数宣言
- 4. 関数宣言または関数式
- 5. C++ - テンプレートクラスのテンプレート関数用の個別の宣言/定義
- 6. 名前空間内の関数の宣言と定義?
- 7. 関数のパラメータ:const matching宣言と定義
- 8. XSLT:ユーザー定義関数を宣言する方法
- 9. OCaml:定義する前に関数を宣言する
- 10. z3の関数宣言
- 11. メンバー関数の宣言型
- 12. C++空の関数宣言
- 13. 関数内の宣言
- 14. C++関数の宣言
- 15. Angular2 CanActivateグローバル関数宣言
- 16. C++関数エラーの複数の宣言
- 17. 複数の宣言エラー - 仮想関数
- 18. 別の関数のある関数で定義され、宣言された変数にアクセスする方法は?
- 19. 関数定義
- 20. 関数定義{}
- 21. 関数名の後の関数パラメータの宣言
- 22. 関数宣言の関数へのポインタについて
- 23. 関数内で宣言された関数のスコープ
- 24. 匿名関数内で宣言された関数へのアクセス?
- 25. Cの関数の暗黙の宣言
- 26. 関数の宣言のjavascriptスコープ
- 27. 関数 'clock'の暗黙の宣言
- 28. 関数の暗黙の宣言
- 29. Sparkビルドカスタム列関数、ユーザ定義関数
- 30. PHP関数再宣言の問題は
はい彼が持っている可能性があり、多分彼はそれがのが理由だったこと... :) – villintehaspam
@villintehaspamを許可されているだけで彼のコンパイラではなかったことを知りたいと思いました。 –