一个基于构造器的程序
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;
}
};我试着把name放在'name‘和"name“中,我也试着使用类型转换(char),但似乎不起作用
int main()
{
demo Obj1, Obj2;
//creating objects
Obj1.output();
Obj2.input();
Obj2.output();
return 0;
}发布于 2020-02-13 18:01:11
数组没有复制赋值运算符。
所以构造函数中的这条语句
name = "Pro"; 是错误的。
你必须要写
#include <cstring>
//...
std::strcpy( name, "Pro" );或者一种更简单的方法是重写构造函数,如下所示
demo() : name { "Pro" }, mark( 1 )
{
cout<<"Working"<<endl;
}https://stackoverflow.com/questions/60204936
复制相似问题