前提・実現したいこと
vectorのポインタを引数とする関数を作成しています.
発生している問題・エラーメッセージ
引数としているvectorのところで以下のようなエラーが出ています。
visual studio codeで当該部分にマウスを当てると「式には,クラス型が必要です。」と表示されます。
しかしながら,どう対処すればよいかわからずにいます。解決法をご教示頂けますと助かります。
y2:max_min moto$ g++ -c max.cpp max.cpp:12:60: error: member reference base type 'int *' is not a structure or union std::vector<int>::iterator itr_max = std::max_element(v.begin(), v.end()); ~^~~~~~ max.cpp:12:71: error: member reference base type 'int *' is not a structure or union std::vector<int>::iterator itr_max = std::max_element(v.begin(), v.end()); ~^~~~ max.cpp:15:39: error: member reference base type 'int *' is not a structure or union size_t max_index = std::distance(v.begin(), itr_max); ~^~~~~~ 3 errors generated.
該当のソースコード
C++
1#include <iostream> 2#include <vector> 3#include <algorithm> 4 5using namespace std; 6 7//import vector v 8void max(int* v) 9{ 10 11//max_element:: 12 std::vector<int>::iterator itr_max = std::max_element(v.begin(), v.end()); 13 14 // size_t min_index = std::distance(v.begin(), itr_min); 15 size_t max_index = std::distance(v.begin(), itr_max); 16 17 std::cout << "max element id=" << max_index << endl; 18 std::cout << "max element (hairetsu):" << v[max_index] << std::endl; 19 std::cout << "max element (pointer):" << *itr_max << std::endl; 20}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。