如果我做:
void foo() {
if( .. ) {
inline int baa(..) { return .. }
} else {
inline int baa(..) { return .. }
}
}
并调用:我得到的baa(..)
内部foo
函数implicit declaration of 'baa'
。但是如果我做原型声明:inline int baa(int);
错误是inline function 'baa' declared but never defined
. 我正在使用内联函数来替换宏函数。
如何解决这个问题?
编辑 得更好:有人可以解释为什么编译器声称上述错误消息吗?