ホームページ  >  に質問  >  本文

テンプレート関数とイテレータを使用して要素をベクトルで表示する

リーリー

VS 2017 でのエラー メッセージは次のとおりです:

リーリー

ここで何が問題だったのか教えていただけませんか ~ありがとう~~

女神的闺蜜爱上我女神的闺蜜爱上我2646日前1001

全員に返信(2)返信します

  • 巴扎黑

    巴扎黑2017-06-23 09:16:59

    2つの位置を変更します、

    変更前: void fastial(vector<T> ivec, Vector<T>::iterator iter)
    変更後: void fastial(vector<T> ivec, typename Vector<T>::iterator iter)

    まず 2 番目の変更位置について説明しましょう。typename は何のためにあるのでしょうか?参考 http://blog.csdn.net/laojiu_/...

    最初の変更の場所を説明できません。引用符で囲まれていない場合、VS は end() と比較するときに型の不一致を報告します。これも理解できません。 。 。

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-23 09:16:59

    Vs2008 で実行すると、エラーが報告されます。
    エラーの理由は次のとおりです:
    (1) Vector<int> ivec = {1,2,3,4,5,6,7}; ベクトルをこのように初期化して直接割り当てることはできません。これで代用できます

    リーリー

    (2) 関数がうまく書かれていません。関数に ivec.begin() を渡す必要はありません。すでに ivec を関数に渡しているため、関数は不必要な詳細を追加することなく、ivec のすべての情報を取得します。

    リーリー

    返事
    0
  • キャンセル返事