mcrblog

vcpp-ml

2002年05月

31

[vcpp 00058619] メンバ関数のテンプレート

Visual C++ 6.0 って、メンバテンプレート使えないのでしょうか?

template <class U> struct hoge {
    template <class T> void foo(T a);
};

template <class U> template <class T> void hoge<U>::foo(T a) {
    std::cout<<typeid(T).name()<<std::endl;
    std::cout<<typeid(U).name()<<std::endl;
}

int main(){
    hoge<int> h;
    h.foo("文字 ");
}

BCC55 では問題なく通るのですが、
VC6.0 だと、関数テンプレート定義の部分で、
    error C2059: 構文エラー : ''template<''
となってしまいます。

また、

struct hoge {
    template <class T> void foo(T a);
};

template <class T> void hoge::foo(T a) {
    std::cout<<typeid(T).name()<<std::endl;
}

int main(){
    hoge h;
    h.foo("文字 ");
}

このような場合では、
    error C2893: 関数テンプレート 'void __thiscall hoge::foo(T)' の特定に失敗しました
になります。


マイクロソフトの VC のページには、
>● Visual C++ 6.0 ではメンバ テンプレートがサポートされていますか ? 
>はい。メンバ テンプレートは、Visual C++ 6.0 と Visual C++ 5.0 でサポートされています。

とかかれているのですが……。


VC7 だとうまくいくのでしょうか?
(VC + Intelのコンパイラの組み合わせだと多分ばっちりでしょうね)



Re: [vcpp 0058611]
かもめsan>Realese版では何の不都合も無いはずなので、堂々と無視しちゃってください
  言い切っちゃいました(笑)
  堂々と無視する自信がつきました (^^;;;

                                                                                        みかり☆でした
31

[vcpp 00058618] RE: CMainFlameオブジェクトのアドレス

 渋木です。

> SDIアプリケーション(Document-Viewあり)において、CMainFlameオブジェク
> トのポインタを
> 取得しようとしたのですが、どのようにしたらとれるのか分かりません。

 CMainFrame* pFrame = (CMainFrame*) ::AfxGetMainWnd()

--
// 渋木宏明 (Hiroaki SHIBUKI)
// mailto:h...@mbi.nifty.com
// http://www.hidori.jp/
//
31

[vcpp 00058618] RE: CMainFlameオブジェクトのアドレス

 渋木です。

> SDIアプリケーション(Document-Viewあり)において、CMainFlameオブジェク
> トのポインタを
> 取得しようとしたのですが、どのようにしたらとれるのか分かりません。

 CMainFrame* pFrame = (CMainFrame*) ::AfxGetMainWnd()

--
// 渋木宏明 (Hiroaki SHIBUKI)
// mailto:h...@mbi.nifty.com
// http://www.hidori.jp/
//
31

[vcpp 00058617] vcppMLの脱会方法

<ML>お知らせより抜粋

vcppMLの脱会方法

脱会方法は、vcppメイルアドレスに #bye や bye を
メイルで送るのではありません。また unsubscribe でも
ありません。
万が一、このようなメイルを送信するとvcppMLのメンバ全員に
配送されてしまい、大変な迷惑となりますので、ご注意ください。
脱会手続きは電子メイルで行います。
m...@mserver.catnet.ne.jp宛にメイル本文を次のように
してメイルを送って下さい。

unsubscribe vcpp y...@mail.address
end

y...@mail.address には、貴方のメイルアドレスを正確に記載して下さい。
なお、メイルの差出人と全く同じメイルアドレスで登録している場合には、
y...@mail.address を省略することができます。
また、本文は先頭行からスペースを空けずにお願いします。また、メイルの
ヘッダのFrom:行と本文のunsubscribe行のメイルアドレスが不一致の場合
には、手続きに時間がかかる場合があります。

また、脱会手続きが成功しても、すぐには配送は止まりませんので
ご注意ください。
31

[vcpp 00058617] vcppMLの脱会方法

<ML>お知らせより抜粋

vcppMLの脱会方法

脱会方法は、vcppメイルアドレスに #bye や bye を
メイルで送るのではありません。また unsubscribe でも
ありません。
万が一、このようなメイルを送信するとvcppMLのメンバ全員に
配送されてしまい、大変な迷惑となりますので、ご注意ください。
脱会手続きは電子メイルで行います。
m...@mserver.catnet.ne.jp宛にメイル本文を次のように
してメイルを送って下さい。

unsubscribe vcpp y...@mail.address
end

y...@mail.address には、貴方のメイルアドレスを正確に記載して下さい。
なお、メイルの差出人と全く同じメイルアドレスで登録している場合には、
y...@mail.address を省略することができます。
また、本文は先頭行からスペースを空けずにお願いします。また、メイルの
ヘッダのFrom:行と本文のunsubscribe行のメイルアドレスが不一致の場合
には、手続きに時間がかかる場合があります。

また、脱会手続きが成功しても、すぐには配送は止まりませんので
ご注意ください。
記事検索
Amazon.co.jp
  • ライブドアブログ