2016-04-18 14 views
0

CppUnitTestFrameworkの属性メタデータ型を総称的に呼び出すために使用できるマクロを作成しようとしています。このマクロは次のように使用されていることを期待して関数名のC++マクロ

#define GetAttributes() CATNAME(CATNAME(CATNAME(__GetMethodMetadata,_),__func__),())) 

:それは私はこのような何かをする必要があり、それには、関数の名前を使用しているため、各テストメソッドの呼び出し規約が異なるため

... 
void someFunction(){ 
    MethodAttributeMetadata* meta = GetAttributes(); 
    ... 
} 

は次のように処理されます。

... 
void someFunction(){ 
    MethodAttributeMetadata* meta = __GetMethodMetadata_someFunction(); 
    ... 
} 

追加情報:

コンパイラ:Visual Studioツール2013(V120)

Microsoftのマクロページ:https://msdn.microsoft.com/en-us/library/b0084kay.aspx

が、これは私が行うことができるものですか?

+0

おそらくこれの複製:http://stackoverflow.com/questions/5256313/c-c-macro-string-concatenation –

+0

@RobK、否定。 – bipll

+0

少なくとも彼は何をしたいのかを彼に示しておくべきです。 –

答えて

0

私は答えを見つけました。これはできません。このアプローチの問題は文字列の連結ではなく、func(またはそれの任意の形式)は、関数の外部で使用することはできません。

関連する問題