c++ - 我的电脑不接受 s.length,但其他编译器接受

标签 c++ string function netbeans netbeans-8

使用某些函数时,我的计算机/NetBeans 似乎无法运行我的代码,即使它可以在不同的编译器中运行。这是我的函数(请记住,这不是我的整个项目,我有一个 int main()):

#include <iostream>
#include <iomanip>
#include <string>
#include <iterator>
#include <cstdlib>
#include <ctime>
#include <windows.h>
using namespace std;
void convert (string& s){ //Creating a function that makes a variable lower case
    for(int i=0; i<s.length(); i++){ 
        s[i] = tolower(s[i]); //tolower lets me change to lower case
    }
}

我收到的错误是:“无法解析标识符长度”。如果您需要查看我的整个项目,请询问,我不介意,只是认为这无关紧要是在浪费时间。我正在使用 NetBeans 8.2,提前致谢

最佳答案

你可以试试size()而不是 length() .对于 string在 C++ 中,它们之间没有显着区别,但 size()用于其他 STL 容器,如 map , vector等等。所以一般来说,人们使用 size()功能。

用法与 length(), i < s.size() 相同

关于c++ - 我的电脑不接受 s.length,但其他编译器接受,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48219678/

相关文章:

c++ - 如何使用cin读取字符数据存入数组并显示?

java - 如何使用字符串作为变量?

jquery - 重复函数 X 次

c++ - 加入 Char 数组的函数,包括中间的附加符号

c++ - 检查 C++03 上是否为 const

c - 映射枚举和字符串

c++ - 模板作为参数类型

c++ - 将浮点文字映射到其二进制表示的过程

c++ - Qt程序每次都死机

perl goto&Name 与 return