トップページ⇒tech
3コメント1KB

[VC++] templateクラスとマクロについて

■ このスレッドは過去ログ倉庫に格納されています
000112008/08/03(日) 15:40:39
//二つ以上型のあるtemplateクラスを、マクロの1引数として渡し、マクロを展開する方法を教えてください。
#define MACRO( classname_ca )
{
classname_ca::Func();
}
template <typename T1_t>
class XXX1o {
T1_t mdata1w;
public:
static int Func( void )
{
return 250;
}
};
template <typename T1_t, typename T2_t>
class XXX2o {
T1_t mdata1w;
T2_t mdata2w;
public:
static int Func( void )
{
return 500;
}
};
static void aaa( void )
{
// マクロMACROの定義では引数はひとつしか渡せないが、templateのカンマ区切りで二つ引数を渡したことになりコンパイルエラーとなる
int value1i = MACRO( XXX1o< int > ); // コンパイルOK
int value2i = MACRO( XXX2o< int, int > ); // コンパイルエラー
}
0002デフォルトの名無しさん2008/08/03(日) 15:45:48
単発スレ立てんなボケ
0003デフォルトの名無しさん2008/08/04(月) 04:00:12
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
■ このスレッドは過去ログ倉庫に格納されています