无法在初始化时将"日期"转换为"int"作为错误
Can't convert 'Date' to 'int' in initialization as error
我正在尝试默认复制,但收到了以下错误:
[Error]无法在初始化中将"Date"转换为"int"[警告]扩展初始值设定项列表仅适用于-std=c++11或-std=gnu++11
//默认复制
#include<iostream>
class Date{
public:
int day;
int month;
int year;
void setday(int );
void setmonth(int);
void setyear(int);
};
void Date::setday(int d){
day=d;}
void Date::setmonth(int m){
month=m;
}
void Date::setyear(int y){
year=y;
}
int main(){
Date d1;
d1.setday(5);
d1.setmonth(6);
d1.setyear(7);
std::cout<<d1.day<<d1.month<<d1.year;
Date d2{d1};
std::cout<<d2.day<<d2.month<<d2.year;
return 0;
}
Date d2{d1};
统一初始化仅在C++11及更高版本中可用,而且编译器似乎默认使用C++03。将-std=c++11
标志添加到编译中(或更新编译器,GCC默认从GCC 6.1开始使用C++14进行编译(
最终,您可以使用不同形式的初始化:
Date d2(d1);
Date d2 = d1;
相关文章:
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 是否可以从int转换为enum类类型
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 功能样式转换从 'int' 到 'ItemType' 的匹配转换
- 将 int 数组转换为 std::vector<int*>
- 如何转换 int 变量并附加到常量 wchar_t*
- 类型转换<int>的舍入问题
- 在Objective-C中调用sqlite3数据库时,如何调用和转换int/NSNumber
- 转换 int -> 无符号长 长 是否由标准定义
- 简单的 int 到字符串转换..int to const char* 无效
- 如何将转换 int 除法键入为浮点数
- C++类型转换 int * 到类
- 预期的类型说明符,并且无法在初始化时转换“int*”
- 转换int并将其与char*连接
- 字符串流在转换int型时添加新行
- 转换int为字符串/char c++ /Arduino
- c# P-Invoke:如何转换INT fun(BYTE *bStream, UINT16 *nCount, const
- 类型转换(int**)和int(*)的区别
- 从"int"到"nodeType"的无效转换<int>
- 从无符号int构造对强制转换int的引用