我正在尝试编写一个程序,通过计算程序中的单词,句子和音节来计算文本文件(Flesch)的分数,而现在我遇到麻烦,因为bool函数是在a为每一个编写代码。这是我得到的: 
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int numSentences, numWords, numSyllables; //for alphabet A-Z, a-z....unexpected unqualified0id before 'int'
int isalpha(char isWordStarting);
bool inSentence, inWord, inSyllable;//
inSyllable(char isSyllableStarting);{//error: expected constructor, destructor, or type conversion before ; token....
if (numSyllables = 'a','e','i','o','u'){//error: unqualified id before '{' token => inSyllable function
return true;}
inSyllable(char isSyllableEnding);{
else {
return false;
}
inWord(char isWordStarting);{
if(numWords = isalpha(char isWordStarting)){
return true;}
inWord(char isWordEnding);{
else {
return false;
}
inSentence(char isSentenceStarting);{
if(numSentences = '.',';',':','!','?'){
return true;
}
inSentence(char isSentenceEnding);{
else{
return false;
}
int main (int argc[1], char*argv[]) {
char c;
ifstream infile;
infile.open(agrv[1]);
while (not (infile.eof());{ //start of loop
infile.get(c);
cout.put(c);
for(int numSentences=0; numSentences < argc; numSentences++) { //Sentences
cout << numSentences << ": " << argv[numSentences] << endl;
}
for(int numWords=0; numWords < argc; numWords++){ //Words
cout << numWords << ": " << argv[numWords] << endl;
}
for(int numSyllables=0; numSyllables < argc; numSyllables++) {//Syllalbles
cout << numSyllables << ": " << argv[numSyllables] << endl;
}
}
infile.close(); //close file
return 0;
}
有什么想法吗?我把注释放在我遇到问题的线旁边。
答案 0 :(得分:3)
删除第一个错误行上的分号:)
而不是函数定义,半冒号使它成为一个尝试的函数调用,后跟大括号,这是没有意义的 - 它使编译器感到困惑。
inSyllable(char isSyllableStarting);{ //This one here.
另请注意,它应该具有返回类型。它正在寻找一个构造函数,因为你的函数定义没有。
更多错误:你在这里犯的错误多于此。例如,如果您将当前代码很好地分配到错误位置,则会出现这种混乱:
inSyllable(char isSyllableStarting);
{
if (numSyllables = 'a','e', 'i', 'o', 'u'){
return true;
}
inSyllable( char isSyllableEnding);
{
else{
return false;
}
所以,这里有一系列问题: