gpt4 book ai didi

c++ - C++中Main函数的参数

转载 作者:行者123 更新时间:2023-12-02 01:38:39 26 4
gpt4 key购买 nike

当我尝试编译此代码时,出现错误:

#include<iostream>
using namespace std;

int main()
{
char* p = "Hello";
return 0;
}

error C2440: 'initializing': cannot convert from 'const char [6]' to 'char *'

当我在 p 的声明中添加单词 const 时,此错误得到修复。

此代码编译并运行:

#include<iostream>
using namespace std;

int main()
{
const char* p = "Hello";
return 0;
}

所以我的问题是:main()函数如何能够采用char *argv[](作为参数)而不是const char * argv[](作为参数)?

int main(int argc, char *argv[])

最佳答案

"Hello" 是一个字符串文字,其类型为 const char[6]。您无法设置非常量 char* 指针来指向 const char[],因此会出现错误。这样做将授予调用者更改只读数据的权限。

main()argv[] 参数中的 char* 指针指向 char[] 当程序的启动代码在调用 main() 之前解析调用进程的命令行参数时,在运行时动态分配和填充的数组。它们不指向字符串文字,因此不需要是 const char*。

关于c++ - C++中Main函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71963142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com