Что произойдет при несоответствии сигнатур функций по константности аргументов при экспорте/загрузке из DLL?

Рассмотрим два следующих прототипа функций:

extern "C"
{
    void a(void* p);
    void b(const void* p);
}   

Скажите, пожалуйста, влияет ли спецификатор константности аргумента функции на генерируемый код при экспорте символа из DLL?

Конкретно меня интересует следующая ситуация:

Внутри DLL функция экспортируется как:

extern "C" void func(const void* p);

Но пользователь библиотеки работает с загруженной функцией через указатель, который имеет сигнатуру:

void (*)(void*);

Я понимаю, что если сделать наоборот, то будет плохо. Но если сделать так?


Ответы (0 шт):