Tôi đã biên soạn một số mã với GCC với kích hoạt -Wall
và -Wextra
. Mã này tạo ra một cảnh báo:Tôi có nên lo lắng về Wmissing-field-initializers và tổng hợp khởi tạo trong 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}; ^
Tôi có nên lo lắng về điều đó? Đây có phải là lỗi trong GCC để xuất cảnh báo này không? Có vẻ như tôi không có trường để khởi tạo và không có tham số bị thiếu.
Oh well ... Tôi đang xử lý mã chung ở đó, vì vậy tôi sẽ khó thêm các thông số trống: ( –
@GuillaumeRacicot Nó có thể giúp bạn biết số lượng người khởi tạo dự kiến không? Những số này có thể được tính bằng cách sử dụng SFINAE. –