__FUNC__ の例
定義済みマクロ への移動
__FUNC__ の使用例を以下に示します。
#include <stdio.h> int main() { printf("You are in function %s\n", __FUNC__); return 0; }
また、__FUNC__ マクロは、以下のようにクラスのメソッドで使用することもできます。
#include <iostream> class TSomeClass { public: void SomeMethod(void) { std::cout << "You are in the class member " << __FUNC__ << std::endl; } }; int main() { TSomeClass SomeClass; SomeClass.SomeMethod(); return 0; }
ただし、このマクロは、グローバル スコープを使って宣言された場合は無効です。__FUNC__ が関数のスコープ外にある場合、その値は不確定な文字列になります。
そのような誤った使用例を以下に示します。
#include <stdio.h> char * funcStr = __FUNC__; int main() { printf("You are in function %s\n", funcStr); // Won’t work as expected return 0; }