我有一个错误; h文件中没有默认构造函数,如何设置有效的构造函数
I have an error; no default constructor in h file, how do I set valid constructors
我正在尝试使用 API 中的以下几行:
public value struct DeviceInfo
{
Byte DeviceCompatibility;
Size imageSize;
static initonly DeviceInfo Empty = { (Size::Empty, 0 ) };
};
当我编译(构建)项目时出现错误
System::Drawing::Size
没有合适的默认构造函数可用
代码在h文件中;有人可以帮助我做什么吗?我在 VS 2015 中工作。
您可能想要添加更多信息,例如是什么语言。
我猜这是 c++/cli,您面临的问题可能是典型的 c++ 问题,其中 "Size" 是一种仅由没有正确定义的简单 "struct Size;" 引入的类型。
您引用的 header 中会出现错误,未能包含提供 "Size" 定义的 header,看起来像 "struct Size{ ... }"
您可以通过将另一个 header 文件包含在引用的 header 文件的上方一行来解决您的问题。
在此 C++/CLI 值 class 定义中
public value struct DeviceInfo
{
Byte DeviceCompatibility;
Size imageSize;
static initonly DeviceInfo Empty = { (Size::Empty, 0 ) };
};
有 Size
类型的数据成员 imageSize
。并且编译器错误消息说 class.
没有默认构造函数
您必须在 class 定义中显式初始化此数据成员,或者编写 class 构造函数来初始化此数据成员。
根据 Size
class 的描述,它有以下构造函数
Size(Int32, Int32)
Size(Point)
如您所见,每个构造函数都需要指定一个或多个参数。
我认为您可以使用相同的静态数据成员 Size::Empty
来初始化数据成员 imageSize
举个例子
Size imageSize = Size::Empty;
我正在尝试使用 API 中的以下几行:
public value struct DeviceInfo
{
Byte DeviceCompatibility;
Size imageSize;
static initonly DeviceInfo Empty = { (Size::Empty, 0 ) };
};
当我编译(构建)项目时出现错误
System::Drawing::Size
没有合适的默认构造函数可用
代码在h文件中;有人可以帮助我做什么吗?我在 VS 2015 中工作。
您可能想要添加更多信息,例如是什么语言。
我猜这是 c++/cli,您面临的问题可能是典型的 c++ 问题,其中 "Size" 是一种仅由没有正确定义的简单 "struct Size;" 引入的类型。
您引用的 header 中会出现错误,未能包含提供 "Size" 定义的 header,看起来像 "struct Size{ ... }"
您可以通过将另一个 header 文件包含在引用的 header 文件的上方一行来解决您的问题。
在此 C++/CLI 值 class 定义中
public value struct DeviceInfo
{
Byte DeviceCompatibility;
Size imageSize;
static initonly DeviceInfo Empty = { (Size::Empty, 0 ) };
};
有 Size
类型的数据成员 imageSize
。并且编译器错误消息说 class.
您必须在 class 定义中显式初始化此数据成员,或者编写 class 构造函数来初始化此数据成员。
根据 Size
class 的描述,它有以下构造函数
Size(Int32, Int32)
Size(Point)
如您所见,每个构造函数都需要指定一个或多个参数。
我认为您可以使用相同的静态数据成员 Size::Empty
来初始化数据成员 imageSize
举个例子
Size imageSize = Size::Empty;