関数またはメンバ関数のデフォルト引数の有効な式は、どのようなものがありますか?デフォルトの関数引数の有効な式
答えて
関数パラメータの型の変数への代入のコンテキスト内で正しいものは何でも。コンパイル時
編集
デフォルト引数は、などのタイプの正しさの点で評価されているが、それらが計算されていないと何の割り当ては、実行時まで行われません。実際の計算/代入は、関数呼び出し時に行われるのではなく、関数呼び出し時に行われるのではなく、関数呼び出し時にクラスが定義されている限り、デフォルトの引数としてまだ定義されていないクラスのコンストラクタを指定することができます。関数宣言/定義の。
例:
#include <iostream>
void foo(int a = std::rand())
{
std::cout << a << std::endl;
}
int main(void)
{
foo();
return(0);
}
1804289383
これは誤りです。実行時にのみ決定できる変数に物を割り当てることはできますが、それらをデフォルトの引数として使用することはできません。たとえば、 'int a = std :: rand()'を実行できますが、 'void Class :: foo(int a = std :: rand())'を実行することはできません。 –
@EmileCormierあなたは間違っています。 – lapk
おっと、申し訳ありません。私は私の誤った先入観が再び私のより良いものになるようにしています。 –
これはC++ 03規格のセクション8.3.6に詳述されています。基本的には、ローカルスコープのものに依存しない式になります。したがって、ローカル変数、関数のパラメータ、または「this」に依存する式は除外されます。
これは、AzzAの答えをうまく補うものです。私は両方の答えを受け入れることができたらいいと思う。 –
- 1. partedの有効な引数
- 2. デフォルトの関数の引数
- 3. 有効なテンプレート引数
- 4. OCaml:関数の引数のデフォルト値?
- 5. デフォルトの引数を持つSoaplib関数
- 6. 関数テンプレートのデフォルト引数C++
- 7. 複数引数の関数の最初の引数のデフォルト値は冗長か?
- 8. ファンクション引数のデフォルトなし
- 9. Pythonのデフォルトの引数と引数名
- 10. SslStream.DataAvailableない有効な関数
- 11. TypeError: 'channel'はこの関数の無効なキーワード引数です
- 12. MySQLのin_array関数 - 無効な2番目の引数
- 13. TypeError: 'encoding'はこの関数の無効なキーワード引数です
- 14. JVMのデフォルト引数
- 15. テンプレートのデフォルト引数
- 16. 暗黙の関数宣言の場合のデフォルト引数のプロモーション
- 17. 仮想関数のデフォルトの引数の振る舞い
- 18. デフォルトの引数関数のシグネチャの変更
- 19. Javascript関数有効なユーザー名
- 20. 関数のデフォルトの引数と名前付き値
- 21. 無効な引数
- 22. PHPの無効な引数
- 23. 設定ファイルの--hostパラメータの有効な引数のリスト
- 24. Haskell:hSetFileSize:無効な引数(無効な引数)
- 25. なぜ整数== nullがC#の有効なブール式ですか?
- 26. Macの共有メモリフォルダのエラーshm:無効な引数
- 27. 有効条件付きモジュール引数
- 28. デフォルトの関数引数をバックトレースする方法は?
- 29. Pythonでは、他の引数に関して関数の引数のデフォルトを指定できますか?
- 30. 関数の引数
もっと具体的にする必要があります。 –
私の質問は意図的に一般的です。私はデフォルトの引数として使用できる表現のタイプを知りたい。 SOはバグを修正するための助けを求めているだけではありません。 –
http://msdn.microsoft.com/en-us/library/e1dbzf09.aspx –