【C++】STL(Standard Template Library)相談室 4at TECH
【C++】STL(Standard Template Library)相談室 4 - 暇つぶし2ch29:デフォルトの名無しさん
05/11/02 22:23:57
こんにちは。
とあるトランプゲームを作ろうと思って、以下のコードを書きました。
void InitCard(std::list<BYTE>& card){
    card.clear();
    for(int i=0;i<2;i++){
        for(int j=0;j<13;j++){
            card.push_back(j);
        }
    }
    card.push_back(13);//ジョーカを一枚追加。数値は13
    SetRandom();//srandなど
    std::random_shuffle(card.begin(),card.end());//vc7.1ではライブラリ内でエラー。なぜ??
}
このコードではrandom_shuffleでコンパイルエラーが発生してしまいます。
・C2784: 'std::reverse_iterator<_RanIt> std::operator +(_Diff,const std::reverse_iterator<_RanIt> &)' : 'const std::reverse_iterator<_RanIt> & 
用のテンプレート引数を 'std::iterator_traits<_Iter>::difference_type' から減少できませんでした。

        with
        [
            _Iter=std::list<BYTE>::iterator
        ]
・C3767: '+' 一致した関数はアクセス不可能です。
・C2676: 二項演算子 '+' : 'std::list<_Ty>::iterator' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。 (新しい動作; ヘルプを参照)

        with
        [
            _Ty=BYTE
        ]

どなたか原因がわかりませんか??


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch