辞書順にソートを行った後に、探索単語の受け付けと探索の実行を繰り返すループを入れたいです.探索は終了指示マーク($$)を受け付けるまで繰り返します.
以下のコードまで書いたのですが,binary_search(vector.begin(), vector.end(), a);の部分に「main関数は'void'型として宣言されていますが、値を返しました」というエラーが出ます.コードをどのように修正したらよいでしょうか?また,他にも直したらよいところはありますか?教えてください.よろしくお願いします.
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
//メイン関数
void main() {
ifstream inFile; //入力ファイル
string word; //単語
vector<string> vector;//vector配列
//入力ファイルを開く
inFile.open("test.txt");
// 入力ファイルが開けなければ終了する
if (!inFile) {
cout << "入力ファイルを開けません" << endl;
return;
}
//ファイルから単語を読み込む
inFile >> word;
//ファイルの末尾でなければ、以下の処理を繰り返す
while (!inFile.eof()) {
//単語を格納する
vector.push_back(word);
//新しい単語を読み込む
inFile >> word;
}
//vector配列に格納した単語を、辞書順にソートする
sort(vector.begin(), vector.end());
char a;
cout << "探索単語?";
cin >> a;
while (a == '$$') {
return binary_search(vector.begin(), vector.end(), a);
if(true){
cout << "存在する" << endl;
}
else {
cout << "存在しない" << endl;
}
}
}