[CPP] __PRETTY_FUNCTION__

症状

Visual Studio でコンパイルすると次のようなエラーが発生する。

 

原因

__PRETTY_FUNCTION__ マクロは処理系依存で Visual Studio には存在しない(未定義である)ため。

類似のC言語のマクロに __FUNCTION__ がある。
__PRETTY_FUNCTION____FUNCTION__ マクロのC++高機能版とみなすことができる。

 

Visual Studioにおける解決策

__FUNCSIG__ または __func__ に置き換える。

 

GCCのおける __PRETTY_FUNCTION__ のマクロ展開例