Fla*_*dun 2 c++ arrays iterator
这是代码:
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iterator>
using namespace std;
int main(int argc, char** argv)
{
ifstream myfile (argv[1]);
char ch;
char operator_symbols[]={'+','-','*','<','>','&','.',
'@','/',':','=','~','|','$',
'!','#','%','^','_','[',']',
'{','}','\"','`','?'
};
while(!myfile.eof())
{
myfile.get(ch);
if(isalpha(ch))
{
cout << "isalpha " << ch << endl;
}
else if(isdigit(ch))
{
cout << "is num " << ch << endl;
}
else if(find(begin(operator_symbols), end(operator_symbols), ch) != end(operator_symbols))
{
cout << "is operator sym" << ch << endl;
}
else if(ch == '(' || ch == ')' || ch == ';' || ch == ',')
{
cout << "is punctuation " << ch << endl;
}
else if (isspace(ch))
{
cout << "is space " << ch << endl;
}
}
}
Run Code Online (Sandbox Code Playgroud)
该错误与尝试在运算符符号数组中查找字符匹配的if条件有关.:
****@*****:~/Documents/ABC$ g++ lexer.cpp -o lexer
lexer.cpp: In function ‘int main(int, char**)’:
lexer.cpp:30:42: error: ‘begin’ was not declared in this scope
else if(find(begin(operator_symbols), end(operator_symbols), ch) != end(operator_symbols))
^
lexer.cpp:30:65: error: ‘end’ was not declared in this scope
else if(find(begin(operator_symbols), end(operator_symbols), ch) != end(operator_symbols))
Run Code Online (Sandbox Code Playgroud)
我已经包含了算法和迭代器.然而编译器无法编译.请帮忙!我已经尝试谷歌了.
| 归档时间: |
|
| 查看次数: |
1421 次 |
| 最近记录: |