登录

C++中const char[] 为什么不能用strlen()?

如题所示,为什么字符串加了const就会报错,去掉const就能过?

#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;

int main()
{
    const char letter[] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";

    cout<<strlen(letter)<<endl;

    return 0;
}
# C++
迷茫迷茫2140 天前582 次浏览

全部回复(3) 我要回复

  • ringa_lee

    ringa_lee2017-04-17 15:09:58

    把错误信息贴出来看看,在Mac和Centos下执行下面命令编译后执行是正常的

    g++ test.cpp -o test
    ./test

    回复
    0
  • 阿神

    阿神2017-04-17 15:09:58

    你用的什么编译器。GCC 6.2正常。

    回复
    0
  • 迷茫

    迷茫2017-04-17 15:09:58

    谢谢各位了,是我搞错了主函数,我在一个项目里新建了两个主函数,导致了这个错误。非常感谢

    回复
    0
  • 取消回复发送