我知道我可以使用預處理宏有條件地編譯某些方法調用,例如:C預處理指令,條件編譯方法用方括號調用
#if SOMETHING
#define fmod(...)
#endif
...
fmod(34.0, 452.0); //this line doesn't get compiled if SOMETHING != 0.
我可以使用同樣的程序條件編譯方法與要求打開和關閉括號?
說我想所有來電條件編譯的類MyClass
:
[MyClass doSomething];
[MyClass doSomethingElse];
#define MyClass[...]
生產:
[ doSomething];
這就是一個錯誤。有什麼想法嗎?
似乎是一個[XY問題(http://meta.stackexchange.com/questions/66377/what-is -the-XY-問題)?你通過有條件地編譯發送給'MyClass'的消息試圖完成什麼? – 2014-10-07 21:12:09
看,在Stackoverflow上歡迎XY問題,因爲它們是[「實際的,基於你面對的實際問題的可回答的問題」](http://blog.stackoverflow.com/2011/01/real-questions-have-answers /),除了它們在智力上有價值的事實。此外,這不是一個XY問題,因爲我的問題是**有條件地編譯發送到'MyClass'的消息。 – Eric 2014-10-07 21:49:39
僅供參考,在C++和C中都不支持方括號表示法。您正在編寫哪種語言? – 2014-10-07 21:52:21