C++11でメンバー配列をデフォルトで初期化するにはどうすればよいですか? 私はバウンドを提供する必要があるようです。
class Example {
const char* num2letter[10]{" ", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
};
正常にコンパイルされます。しかし、境界を省略すると、コンパイラ エラーが発生します。
エラー: 'const char* [0]' const char* num2letter[]{" ", "", "abc", "def", "ghi", "jkl", "mno", "pqrs" の初期化子が多すぎます、「tuv」、「wxyz」};
コンパイラは、集約初期化を使用したローカル配列定義の場合と同じように境界を推測できないのはなぜですか?