在我的頭文件中,我要聲明的MEMORY_SIZE變量的語句然後我想創建使用MEMORY_SIZE作爲數組的大小兩個陣列這是我的頭文件的代碼:錯誤:。預期標識符或「(」使用C數組聲明
#ifndef MEMORY_SIZE
#define MEMORY_SIZE 1024*512
#endif
在使用用於緩衝器我的主文件的代碼IM是:
//buffers
unsigned char [MEMORY_SIZE] memBytes;
unsigned char [MEMORY_SIZE] secBytes;
之後,當我用gcc編譯我收到消息「錯誤:預期標識符或「( '「,對於這兩個數組,在後面的代碼中,當我嘗試使用數組時,我得到」錯誤:使用未聲明的標識符tifier 'memBytes'「
任何人看到這個問題?
你應該在你的宏定義添加括號:'#定義MEMORY_SIZE(1024 * 512)'。爲了更加安全,在常量上使用'L'後綴:'(1024L * 512L)',因爲如果'int'是16位,乘法將會溢出。 – 2013-04-10 21:21:27
感謝您的提示! – Tyler 2013-04-10 21:37:05