這是我最奇怪的錯誤。錯誤:使用索引或迭代字符串的'<'標記之前的預期初始化器
g++ -Wall -g -std=c++11 *.cpp -o lab2
lab2.cpp: In function ‘void toAlpha(std::string&)’:
lab2.cpp:18:19: error: expected initializer before ‘<’ token
for(int i = 0, i < str.length(), ++i){
^
lab2.cpp:18:19: error: expected ‘;’ before ‘<’ token
lab2.cpp:18:19: error: expected primary-expression before ‘<’ token
lab2.cpp:18:38: error: expected ‘;’ before ‘)’ token
for(int i = 0, i < str.length(), ++i){
^
從我已閱讀。這個錯誤通常來自上面提到的行之上的東西。但是,它幾乎是代碼中的第一個函數。也許你可以幫助看看我的眼睛不能。
僅供參考此功能的目的是將所有非alpha字符轉換爲空格。
無論我是通過索引還是迭代器訪問,都會發生這種情況。
下面是代碼:
#include <map>
#include <iostream>
#include <set>
#include <fstream>
#include <algorithm>
#include <list>
#include <cctype>
#include <sstream>
#include "print.h"
using namespace std;
typedef map<string,list<int>> WORDMAP;
/* makes symbols turn into spaces */
void toAlpha(string& str){
for(int i = 0, i < str.length(), ++i){
if(!isalpha(str[i])){
str[i] = ' ';
}
}
}
您在if的應用分號中使用了逗號。 – ooga