C-> C ++ Автоматически приводить пустой указатель к указателю типа в C ++ в #define, если тип не указан (стиль C) [MSVS]
Привет!
Я использовал следующееC макрос, но вC ++ он не может автоматически разыгратьvoid*
вtype*
.
#define MALLOC_SAFE(var, size) { \
var = malloc(size); \
if (!var) goto error; \
}
Я знаю, я могу сделать что-то вроде этого:
#define MALLOC_SAFE_CPP(var, type, size) { \
var = (type)malloc(size); \
if (!var) goto error; \
}
Но я не хочу переписывать большую часть кода, гдеMALLOC_SAFE
использовался.
Есть ли способ сделать это без указания типа для макроса? Может быть, некоторыеMSVC 2005 #pragma
/__declspec
/Другой ?
с .: Я не могу использовать компилятор C, потому что мой код является частью (одного из сотен модулей) большого проекта. И теперь это на C ++. Я знаю, я могу построить свой код отдельно. Но это старый код, и я просто хочу его быстро портировать.
Вопрос в том, что такое void * casting;) Если это невозможно, я просто заменю MACRO_SAFE на MACRO_SAFE_CPP.
Благодарю вас!