反復子を使うのかな,と思い,
std::vector<char>::iterator p= vector.begin();
と書くと「vector.begin()」の「vector」に赤波線が引かれてエラーが出ます.
コード全文は以下のような感じです.どうすればいいでしょうか
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool precede();
//メイン関数
void main() {
ifstream inFile; //入力ファイル
string word; //単語
vector<string> vector;//vector配列
std::vector<char>::iterator p= vector.begin();
//入力ファイルを開く
inFile.open("test.txt");
// 入力ファイルが開けなければ終了する
if (!inFile) {
cout << "入力ファイルを開けません" << endl;
return;
}
//ファイルから単語を読み込む
inFile >> word;
//ファイルの末尾でなければ、以下の処理を繰り返す
while (!inFile.eof()) {
//単語を格納する
vector.push_back(word);
//新しい単語を読み込む
inFile >> word;
}
precede();
sort(vector.begin(), vector.end(), precede);
//単語を出力する
for (unsigned i = 0; i<vector.size(); i++) {
cout << vector[i] << endl;
}
}
bool precede() {
int str1, str2;
if (sizeof(str1) < sizeof(str2)) {
return true;
}
else {
return false;
}
}