[英]C Macro to write a stack variable length struct?
我不知道這是否可行,但我想編寫一個在堆棧上聲明可變長度結構的宏。 我想做這樣的事情:
#define STATICLIST(max) struct SStaticList { int iSize; id iObjects[max]; }
並這樣調用:
STATICLIST(32) Size32List
STATICLIST(64) Size64List
但是我正在重新聲明類型struct SStaticList錯誤
您可以執行類似的操作,但為了避免使用具有相同名稱沖突的結構,您將需要執行某些操作。
#define STATICLIST(max) struct { int iSize; id iObjects[max]; }
這應該做。
您可以使用令牌粘貼操作##在結構名稱中包括大小:
#define STATICLIST(max) struct SStaticList##max { int iSize; int iObjects[max]; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.