字符类型转换不兼容

Char type conversion incompatible

本文关键字:不兼容 类型转换 字符      更新时间:2023-10-16

基于构造函数的程序

Error -Incompatible  Type conversion from char to char[100]

法典-

#include<iostream>
using namespace std;
class demo
{
public:
char name[100];
//This is where char is declared
int marks;
demo()
{
marks = 0;
name = "Pro"; 
//assigning value to the char
cout<<"Working"<<endl;
}
void input()
{
cout<<"Enter Name and Marks"<<endl;
cin>>name>>marks;
}
void output()
{
cout<<name<<"t"<<marks<<endl;
}
};

我尝试将名称输入"名称"和"名称" 我也尝试使用类型转换(字符( 但它似乎不起作用

int main()
{
demo Obj1, Obj2;
//creating objects
Obj1.output();
Obj2.input();
Obj2.output();
return 0;
}

数组没有复制赋值运算符。

所以构造函数中的这句话

name = "Pro"; 

是错误的。

你必须写

#include <cstring>
//...
std::strcpy( name, "Pro" );

或者更简单的方法是重写构造函数,例如

demo() : name { "Pro" }, mark( 1 )
{
cout<<"Working"<<endl;
}
相关文章: