Сегодня я узнал, что указатели на функции и указатели данных не совпадают и поэтому несовместимы друг с другом (Why are function pointers and data pointers incompatible in C/C++?). Мой вопрос, однако, заключается в том, что разные функции (не членские) указатели совместимы друг с другом (реализованы одинаково).Разные функциональные указатели совместимы друг с другом?
В коде:
typedef void(*FuncPtr0)();
typedef void(*FuncPtr1)(int);
FuncPtr0 p0;
FuncPtr1 p1;
p0 = reinterpret_cast<FuncPtr0>(p1); // will this always work, if p1 really
p0(); // points to a function of type FuncPtr0
Спасибо за вашу помощь!
спасибо! Кажется, было довольно легко найти ответ на этот вопрос. Могу я спросить вас, как вы решили найти цитату в стандарте? – rozina
@rozina просто посмотрите на параграф, расскажите о reinterpret_cast. – ForEveR
Я googled и узнал, что стандарт не является бесплатным, что объясняет, почему ни один из результатов поиска Google никогда не показывает стандартные только кавычки здесь в stackoverflow :) Еще раз спасибо! – rozina