@Nulltiton

Как при помощи макроса передать тип данных как параметр в функцию си?

Хочу написать функцию, в которую из списка с типами данных в цикле передаются значения как параметры функции, а функция возвращает sizeof этого типа данных. Подсмотрел такое выражение, которое работает только на gcc
#define swap(type, foo, bar) ({type tmp; tmp=foo; foo=bar; bar=tmp;})

Попытался переписать его под свой пример:
#define tysize(type) tysize(({int a = sizeof(type); printf("%d", a);}))

int main()
{
  tysize(int);
   return 0;
}

Однако при компиляции выходит следующая ошибка: 64273b5a9bf51768008094.png
VS показывает: 64273b6947d49511368414.png
Подскажите, как исправить эту ошибку и запустить функцию
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы