我从无法修改的 3rd 方代码中收到了很多这些警告。
有没有办法禁用此警告或至少在某些区域禁用它(如 VC++ 中的 #pragma push/pop)?

例子:

list.h:1122: warning: `list<LogOutput*, allocator<LogOutput*> >::node_alloc_' will be initialized after
list.h:1117: warning:   `allocator<LogOutput*> list<LogOutput*, allocator<LogOutput*> >::alloc_'

最佳答案

确保成员出现在初始化列表中的顺序与它们在类中出现的顺序相同

Class C {
   int a;
   int b;
   C():b(1),a(2){} //warning, should be C():a(2),b(1)
}

或者你可以转 -Wno-reorder

关于g++ - gcc 警告"'will be initialized after',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1564937/

10-12 17:24