__FUNC__ の例

提供: Appmethod Topics
移動先: 案内検索

定義済みマクロ への移動


__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;
}

関連項目