2017-02-22 9 views
1

次コード -typenameを受け入れるマクロを書くには?

#define test_macro (some_typename) some_typename func (some_typename x) {return x;} 
test_macro (int) 

は、以下のエラー -

私が間違っているつもりです
constructor, destructor, or type conversion before 'some_typename' 
unqualified-id before 'int' 
')' before 'int' 

を与えるG ++ 4.4.7でコンパイルしないのですか?

+5

なぜサイドノートで

#define test_macro(some_typename) some_typename func (some_typename x) {return x;} test_macro(int) 

、あなたはパラメータする型名を必要とするとき、テンプレートを考慮してください。あなたのコードの唯一の問題は、すなわち、いくつかの余分なスペース、書式設定されマクロを使用していますか?おそらくテンプレート? –

+0

@EdHeal test_macroはCのアプリケーション – Curious

答えて

8

マクロには、タイプ名やその他の言語機能がプリプロセッサの一部であるため、わかりません。 - 彼らはそれで良いです:)

+0

によって使用されるかもしれません、それはそれを解決します! – Curious

関連する問題