乙個小小的C語言巨集定義錯誤 C,C

2021-05-22 01:15:37 字數 368 閱讀 9269

#define aaa 1;

#define bbb 2;

int addde()

int main(int argc, char* argv)

竟然會提示c2100錯誤。百思不解,用加號+代替*就沒有錯誤,原因何在?

查了一下msdn:對c2100錯誤的解釋是,*後面是乙個非指標變數。大惑,乘號怎麼被看成了指標取值?後來一查,原來是乙個很簡單的錯誤,在#define的一行結束有「;」。像這種僅僅定義乙個常量的的#define語句在一行結束應該是沒有分號的。由於巨集定義採取的源**替換,所以到了表示式aaa * bbb;

就被替換成了1;*2;;當然會報非指標變數錯誤啦。

看來原來沒注意過,今天算是小小的積累了一下。

this乙個小小的迷惑

include using namespace std class b b b class b void virtual print 不知道為什麼列印的不一致呢 自己的理解 由於d繼承自b,構造d的時候需要先構造b,在b的建構函式中的this內部的具體情況如下圖,此時d還沒有構造出來,vfptr的詳...

乙個小小的爬蟲技巧

寫過爬蟲的同學對 requests 庫應該非常熟悉了,這個庫是如此的好用。但今天我就遇到了使用瀏覽器可以正常訪問,一旦使用 requests 去 get 此 ip 就會被封,然後瀏覽器也無法訪問。需要等待幾個小時之後才能訪問。過了幾個小時,我又使用瀏覽器訪問了此 url a,開啟谷歌瀏覽器的開發者工...

python 乙個小小的效能提公升

你可以通過將函式或方法的定位結果精確地儲存至乙個本地變數來獲得一些效能提公升。乙個迴圈如 for key in token dict key dict.get key,0 1 每次迴圈都要定位dict.get。如果這個方法一直不變,可這樣實現以獲取小小的效能提公升 dict get dict.get...