我正在编写一个程序,该程序通过一个字符串,但是在for循环中,它给了我一个错误,并且在线答案中我发现只使用向量。
std::string str = "Test";
for (int i = 0, max = str.size; i < max; i++)
答案 0 :(得分:8)
std::string::size
是成员函数,您需要调用它:
for (int i = 0, max = str.size(); i < max; i++)
// ^^ here
...,为了消除带符号-无符号转换的问题,
for (std::size_t i = 0, max = str.size(); i < max; i++)
// ^^^^^^^^^^^ index type for standard library container
此外,如果您需要处理字符串中的每个char
,请考虑使用基于范围的for循环;
for (char c : str)
// ...