Компилятор clang выдает предупреждения для приведенного ниже фрагмента, как это можно увидеть здесь.
clang++ -std=c++14 -O0 -Wall -pedantic -pthread main.cpp && ./a.out
main.cpp:1:18: warning: braces around scalar initializer [-Wbraced-scalar-init]
void point(int = {1}, int = {2}) {}
^~~
main.cpp:1:29: warning: braces around scalar initializer [-Wbraced-scalar-init]
void point(int = {1}, int = {2}) {}
^~~
2 warnings generated.
Почему это?
void point(int = {1}, int = {2}) {}
int main(){
point();
}
Насколько я могу судить, {1}
и {2}
являются вполне допустимыми аргументами по умолчанию согласно [ dcl.fct.default] / 1, [dcl.fct] / 3 и [dcl.init] / 1.
if(x = something());
- еще один. - person Quentin   schedule 24.05.2017int i = {1};
- person João Afonso   schedule 24.05.2017int i = {1};
. - person João Afonso   schedule 24.05.2017