字符类型转换不兼容
Char type conversion incompatible
基于构造函数的程序
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;
}
相关文章:
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 在 C++(和 C)中进行类型转换时明显不一致
- 字符类型转换不兼容
- 视觉工作室 2017;启用 /permissive 时,类型 "const wchar_t *" 的参数与类型 "PWSTR" 的参数不兼容
- 类型为 "int*" 的参数与 C++ 中错误类型"int**"参数不兼容
- 该对象具有与成员函数不兼容的类型限定符.为什么会出现此错误?
- 我正在尝试将表的地址传递给要在另一个函数中使用的指针,但得到不兼容的指针类型
- 将"std::string {aka std::basic_string}"赋值中的不兼容类型<char>
- 程序无法编译:将 'int (*)[3][3]' 赋值为 'int [9][3][3]' 中的不兼容类型
- 将"float*"赋值为"float* [1000]"中的不兼容类型
- 在C 中,是否有可能在不兼容类型的std ::向量对象之间传输不同类型的缓冲区
- 为什么我的代码不使用类型转换进行编译?
- 赋值null中的不兼容类型
- 不兼容的转换字符
- 数组到数组 -- 将'int*'分配给 'int 错误C++中的不兼容类型
- 我想复制 (wchar_t *) 缓冲区中的数据,但我无法这样做 bcz 还有其他不兼容的类型,类型转换但没有得到结果
- 对于将 const char 分配给 std::string 的这种代码不兼容类型的错误,我不断收到此错误
- (Dev-c++) 将'int'分配给'char[1]'的不兼容类型
- 为什么编译器不执行类型转换?
- C++不兼容类型:计算等位基因频率