i have macro this:
code:
#define intmethods(lower, cap, parameter) \ - (mmexpressiontype)symboliccapwithint:(sint64)parameter\ {\ return [(mmexpressiontype)self symboliccap:[[mmterm alloc] initwithinteger:parameter]];\ }\ \ - (mmexpressiontype)lowerwithint:(sint64)parameter\ {\ return [(mmexpressiontype)self lower:[[mmterm alloc] initwithinteger:parameter]];\ }
it supposed replace repetitive set of implementations, hope understand trying do. code here gets errors, seems think i'm literally using symboliccap etc. instead of using macro parameter.
here desired output input if don't understand.
code:
intmethods(add, add, addend)
should equivalent to
code:
- (mmexpressiontype)symbolicaddwithint:(sint64)exponent { return [(mmexpressiontype)self symbolicadd:[[mmterm alloc] initwithinteger:addend]]; } - (mmexpressiontype)addwithint:(sint64)exponent { return [(mmexpressiontype)self add:[[mmterm alloc] initwithinteger:addend]]; }
help appreciated.
http://gcc.gnu.org/onlinedocs/cpp/concatenation.html
google search terms: c preprocessor token pasting
far complex feature of preprocessor, , has quirks. recommend reading more 1 reference, , looking @ more 1 example.
Forums Macs Mac Programming
- iPhone
- Mac OS & System Software
- iPad
- Apple Watch
- Notebooks
- iTunes
- Apple ID
- iCloud
- Desktop Computers
- Apple Music
- Professional Applications
- iPod
- iWork
- Apple TV
- iLife
- Wireless
No comments:
Post a Comment