-Wall
と-Wextra
を有効にして、GCCでコードをコンパイルしました。Wmissing-field-initializersとC++ 17の集約初期化について心配すべきでしょうか?
struct A { A(int) {} };
struct B {};
struct C : A, B {};
int main() {
(void) C{1};
}
main.cpp: In function 'int main()': main.cpp:11:15: warning: missing initializer for member 'C::<anonymous>' [-Wmissing-field-initializers] (void) C{1}; ^
私はそのことについて心配する必要があります。このコードは、警告を生成しますか?これはこの警告を出すためのGCCのバグですか?私はフィールドを初期化する必要はなく、欠落しているパラメータもないようです。
ああ...私はそこにジェネリックコードを扱っているので、空のパラメータを追加するのは難しいでしょう:( –
@GuillaumeRacicot期待されるイニシャライザの数を知るのに役立つでしょうか? SFINAE。 –