 
            
            
            
            
                18 Jul
                
                    2005
                
            
            
                18 Jul
                
                '05
                
            
            
            
        
    
                6:32 p.m.
            
        Chris Uzdavinis wrote:
Chris Uzdavinis <chris@uzdavinis.com> writes:
Please consider this simple example: ... #define LOG(X) log((X), __FILE, __LINE__)
Oops. The typo on __FILE was an accident, and I hope it won't be a distraction from the example I was trying to make.
This is not a namespace-level macro. It expands to an expression. An expression macro must not contain a trailing semicolon because it can be used in contexts where a semicolon is illegal: static int dummy = LOG(something), 1;