Public Group

# Defines

This topic is 4912 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Is there way I can somehow put this in define #ifdef DEbuG debug::write(someString) #endif I tried this way but it gives error #define debugWrite(someString) #ifdef DEbuG debug::write(someString) #endif without #ifdef DEbuG and #endif code compiles ok. Is this possible somehow?

##### Share on other sites
A cleaner way would be to make the whole debug::write() function conditional with something like
#ifdef DEbuGvoid debug::write( constr string& s ) {  // implement me}#elseinline void debug::write( const string& s ) {}#endif

with a similar difference in the declaration, or even
inline void debug::write( constr string& s ) {#ifdef DEbuG  // implement me#endif}

That way, you can just call debug::write() whenever you want, and when compiling without DEbuG defined the whole call will be optimized to nothing.

(edit) And now for the original problem... The preprocessor is a strange beast, and what you're trying to do can't work. You'll have to put the condition around the definition and have an appropriate "else" part, or the compiler will choke on an undefined debugWrite when DEbuG isn't defined.

##### Share on other sites
Thanks for reply.Ill use method you mentioned.

• ### What is your GameDev Story?

In 2019 we are celebrating 20 years of GameDev.net! Share your GameDev Story with us.

• 15
• 11
• 9
• 9
• 40
• ### Forum Statistics

• Total Topics
634130
• Total Posts
3015704
×