次のコードをコンパイルしますが、Visual Studioでコンパイルエラーが発生し、理解できません。
#include <iostream>
using namespace std;
int main()
{
int matchCount, findResult;
long childPID;
string userInput = "blank";
// string to be searched through
string longString = "The PPSh-41 is a Soviet submachine gun designed by Georgi Shpagin as an inexpensive, simplified alternative to the PPD-40.";
while (userInput.compare("!wq"));
{
// reset variables for reuse
matchCount = 0;
findResult = -1;
cout << "Please enter a Word/s to search for (!wq to exit): "; // prompts user for string to search for
cin >> userInput; // takes user input
if (userInput.compare("!wq")) // checks user input to see if they still wish to search for a string
{
childPID = fork();
if (childPID == 0)
{
while (findResult < longString.length)
{
findResult = longString.find(userInput, findResult + 1, userInput.length);
if (findResult < longString.length)
matchCount++;
}
cout << "There are " << matchCount << " instances of " << userInput << " in longString." << endl;
}
else
cout << "childPID != 0" << endl;
}
else
cout << "User has chosen to exit. Exiting." << endl;
}
return 0;
}
エラーは次のとおりです。
「wordcount.cpp(57):致命的なエラーC1010:プリコンパイル済みヘッダーの検索中に予期しないファイルの終わり。ソースに「#include "stdafx.h"」を追加するのを忘れましたか?」
このコードを実行するためにヘッダーファイルが必要だとは思わない。よろしくお願いします。
https://stackoverflow.com/a/4726838/2963099 を見てください
事前にコンパイルされたヘッダーをオフにします。
Project Properties -> C++ -> Precompiled Headers
Precompiled Header
を"Not Using Precompiled Header"
に設定します。
新しい "Empty Project"を作成し、Cppファイルを新しいプロジェクトに追加し、stdafxを含む行を削除します。
できた.
プロジェクトにはstdafxは必要ありません。インストールされたテンプレートでプロジェクトを作成すると、自動的に追加されます。