我想將一個數字映射到C中的關鍵字類型。是否有反正這樣做?C宏預處理器將數字映射到類型
#include <stdio.h>
#include <stdlib.h>
#include "memory.h"
#define DOUBLE_TYPE 1
#define INT_TYPE 2
#define OBJECT_TYPE(Y)
#if Y == DOUBLE_TYPE \
double \
#elif Y == INT_TYPE \
int \
#else \
int \
#endif \
int main(int argc, char* argv[]) {
unsigned int type = 1;
OBJECT_TYPE(type) value = 0.5f;
printf("%f\n", value);
return 0;
}
test.c:11:3: error: missing binary operator before token "double"
double \
我希望能夠施放void*
由整數代碼已知的特定類型。
的C ** **預處理器有沒有數據類型的概念。你不能嵌套指令。 C是靜態類型的。你的嘗試沒有任何意義。這是一個XY問題。你想要解決什麼? – Olaf
預處理器是編譯時的事情,在實際編譯發生之前在單獨的階段運行。預處理器使用它自己的獨立語言,並沒有C變量的概念。 –
此外,沒有'default'類型的東西。 –