忍者ブログ
コンピュータ将棋など…。
[101] [100] [99] [98] [97] [96] [95] [94] [93] [92] [91]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

GPS将棋の影響でtemplateの勉強。
簡単な所で次のようなコードを試したところ、cygwin の gcc-3.4.4やBorland C++5.5.1では普通にビルドできるのに、VC++6.0は二項演算子と間違えたようなエラーコードを吐いて通りません。orz
VC++6.0のプロファイラは子関数まで含めた実行時間が出るのですごくいいんだけど、コレじゃ使えない…。
記述を変えて、VC++6.0でも他のコンパイラでも通るようにできないかなぁ~。

// テンプレートのサンプル
enum Player {SENTE, GOTE};

class TEST {
public:
 TEST(){}
 ~TEST(){}
 template <Player player> Player rev() const;
};

template <Player player>
Player TEST::rev() const
{
 if (player == SENTE) return GOTE;
 else return SENTE;
}

int main()
{
 TEST a;
 return a.rev<GOTE>();
}
 

PR

コメント
VC++6.0は持ってるんだけども…
今はテストできないのでアレですが、
class TEST {
public:
TEST(){}
~TEST(){}
template <Player player> Player rev() const;
};



class TEST {
public:
TEST(){}
~TEST(){}
template <Player> Player rev() const;
};

にすると通ったりしませんか?
【2009/05/08 16:38】 NAME[うさぴょんの育ての親] WEBLINK[] EDIT[]
Re:VC++6.0は持ってるんだけども…
エラーになっているのは
  return a.rev();
の部分なので、通らないみたいです。
【2009/05/09 00:36】
あ。そういえば、VC++6.0にはバグが。
http://www.fides.dti.ne.jp/~oka-t/cpplab-vc6-func-template-bug.html

を参照してみて下さいな。

関数オブジェクトを使わないと、『コンパイルは通ったのに使い物にならない』プログラムが出来る可能性もあるのでした。
【2009/05/08 16:58】 NAME[うさぴょんの育ての親] WEBLINK[] EDIT[]
Re:あ。そういえば、VC++6.0にはバグが。
一応、functorを使っていかのようにしたらコンパイルが通りましたが・・・
なぜかメンバ扱いしてくれないみたいだし、こんな苦労をするくらいなら捨ててしまったほうがいいかも?!

enum Player {SENTE, GOTE};

class TEST {
public:
TEST(){}
~TEST(){}
template class rev{
public:
Player operator()(){
if (player == SENTE) return GOTE;
else return SENTE;
}
};
};

int main()
{
// TEST a;
// return a.rev()(); // error!
return TEST::rev()();
}
【2009/05/09 00:48】


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
02 2017/03 04
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[01/20 Bradleyevece]
[01/19 TimothyErund]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
プロフィール
HN:
かず
性別:
非公開
バーコード
ブログ内検索
最古記事
カウンター
アクセス解析