C++字符出错

C++ char getting errors?

本文关键字:出错 字符 C++      更新时间:2023-10-16
#include <iostream>
int main()
{
    char[] name = { "Nitish prajapati" }; 
    char* namePointer = &name ;
    std::cout << "n name    = " << name;
    std::cout << "n &name    = " << &name;
    std::cout << "n &namePointer    = " << &namePointer;
    std::cout << "n namePointer    = " << namePointer;
    return 0;
}

为什么这个程序给出错误:expected unqualified-id before '[' token? 和 解释您实际如何使用 char 以及引用和取消引用(即指针)

这两种

说法都是错误的

char[] name = { "Nitish prajapati" }; 
char* namePointer = &name ;

在C++数组的有效声明看起来像

char name[] = { "Nitish prajapati" }; 

至于第二个语句,则没有从类型 char ( * )[17]char * 的隐式转换。声明的初始值设定项的类型为 char ( * )[17],而声明的指针的类型为 char *

你应该写

char* namePointer = name ;

char ( *namePointer)[17] = &name ;

它应该是:

const char name[] = {"Nitish prajapati"}; 
const char* namePointer = name ;