default arguments in typedef declarations
От: waev  
Дата: 21.02.13 13:08
Оценка:
коллеги,

я тут сначала наступил, а потом и в стандарте вычитал (8.3.6 Default aguments), что оказывается нельзя задавать дефолтные значения параметров при определении типа указателя на функцию.
то есть хочется писать примерно вот такой код:
typedef void (*pfun)(int a, int b = 7); // error!

void f1(int a, int b);

void main(){
    pfun f = f1;
    f(1);
}

собственно, мне непонятна причина такого запрета. мне кажется, что никаких неоднозначностей тут не возникнет и вообще компилятору не составит труда такой код компилять.
в чем причина такого ограничения?

спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.