Oct. 24th, 2011

yigal_s: (Default)
сколько существует различных прототипов функции
- с одним аргументом
- без учета различных типов возвращаемых значений
- без учета возможных преобразований типа, определенных пользователем,

которые могут принять аргумент типа "указатель на целое"?


void f( что здесь? );

int *i;

f(i);
yigal_s: (Default)
Опять же, наткнулся на некоторую особенность С++ ранее мне неизвестную. Опять же, пока не знаю, баг это или фича стандарта. Похоже, снова фича стандарта. (UPD: фича, да не та, код работает совсем не так, как от него я ожидал).

Оказывается, С++ куда более толерантен к преобразованию ссылочных типов, чем к преобразованию типов указателей. Речь, разумеется, о static casts, даже об implicit casts, т.е. о преобразованиях полностью санкционированных. Никакой грубой силы.
Read more... )