如何解決C語言,函數名與宏衝突

#include <stdio.h>
void f() { printf("function\n"); }
#define f() printf("macro\n")
int main() {
  f(); // macro
  (f)(); // function
  return 0;
}

函數名加括號便可!函數

C函數庫中描述code

一個函數的任何宏定義均可以經過用括號把函數名括住來局部抑制他,由於這個名字後面沒有跟着指示宏函數名展開的左括號
相關文章
相關標籤/搜索