巨集定義多打分號的乙個報錯

2021-08-20 07:35:30 字數 528 閱讀 5971

編譯報錯

expected':'

before

';'token

expected primary-exression before

':'token

expected':'

before

';'token

**

case recv_error_breakpointos:
百思不得其解,這明明有:沒有;號,怎麼會報這個錯

最後發現是這個巨集定義出的問題

#define recv_error_breakpointos -15;
在這個地方多打了乙個分號。

所以在case的地方就是 case -15;: 那出現這個錯誤就能合理解釋了。

計算機和數學就是這麼神奇,當你沒有找到問題所在的時候,覺得這是多麼不可思議的事,當你找到問題所在時又覺得不過爾爾。

乙個巨集定義的用法

巨集定義就是簡單的替換,之前沒見過帶符號的替換,看到這個有點懵了,記錄如下。這裡用 n,代替 fninfo n,l 用的很巧妙。define fninfo n,l n,measvalue measfntbl 以下為names.h中內容 fninfo dominmaxmidhilo,min fninf...

乙個複雜巨集定義的解讀

我們不提倡在寫 的時候出現太多複雜的巨集定義,巨集定義雖然可以簡化 量,但是讀起來非常費勁!下面來看乙個例子 把乙個buff中的資料拷貝到乙個指定的陣列中。由於種種原因,我們用巨集定義來實現這些負責的轉化。如下 include stdafx.h include string.h typedef un...

乙個巨集定義引發的問題

問題1 對與buffer巨集定義的理解 一些得到的基本結論 int型資料占有乙個字的空間,char型資料占有乙個位元組的空間,並且char資料型別的定義是為ascii字元表量身定製的 對與buffer的理解 define buffer char int far 0x200 首先,複習對與基本巨集定義...