我是iPhone新手,我只是嘗試一些簡單的繪圖程序,並且在簡單的數學中使用定義的值時遇到了問題。目標c:在數學表達式中使用#define常量值
我有這樣一行:
int offset = (((myValue - min_value) * 6) - middle);
,這工作得很好 - 但我不喜歡使用那裏的硬編碼6(因爲我會用它很多地方
。所以我想我會定義一個常數使用#:
#define WIDTH_OFFSET 6;
然後我可以使用:
int offset = (((myValue - min_value) * WIDTH_OFFSET) - middle);
但是 - 這得到一個編譯器錯誤:「預期的表現。」
我可以避開這個由分手計算到幾行:
int offset = myValue - min_value;
offset = offset * WIDTH_OFFSET;
offset = offset - middle;
編譯器認爲這是好的。
我猜這裏有一些隱含的演員或其他語言功能在這裏工作 - 任何人都可以向我解釋發生了什麼?
Ninja'd我與該編輯。 :D – Diziet
:)謝謝!這很有道理 - 這些菜鳥錯誤之一;) 作爲一個額外的想法 - 這是否意味着你可以使用'#define'與任何代碼行(如某種代碼段)?這可能很有趣:) –
是的 - 你可以在任何地方使用它,幾乎任何東西。把#define想象成一個宏來輸入任何你想要的東西。這是非常強大的,你可以有條件地使用它,就像增加它的力量。 –