電子書籍の厳選無料作品が豊富!

こんばんわ,
今Cの学習をしています。

たとえば,

#define HOGE(PREF)   void PREF_foo(){ printf("\n")};

としておき,

main()
{
  ソース....


HOGE(foo)

foo()
{
  ソース・・・
}

とすると,プリプロセッサで


main()
{
  ソース....


void foo_foo(){ printf("\n")};


foo()
{
  ソース・・・
}


と置換するようなプリプロセッサの使用はできないのでしょうか。

知っている方よろしくおねがいします。

A 回答 (1件)

トークン連結演算子のようなもののことでしょうか。



#define HOGE(PREF) void foo_##PREF(){printf("\n");}

HOGE(foo)
HOGE(hoge)

int main(){
foo_foo();
foo_hoge();
return 0;
}

参考URL:http://www.microsoft.com/japan/developer/library …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!