我有这个结构:
#pragma once
#include "Defines.h"
#ifndef _COLOR_H_
#define _COLOR_H_
namespace BSGameFramework
{
namespace Graphics
{
ref struct Color
{
public:
Color(BYTE r, BYTE g, BYTE b);
Color(BYTE r, BYTE g, BYTE b, BYTE a);
Color(Color% color) {};
static property Color White
{
Color get()
{
Color white = gcnew Color(255, 255, 255);
return white; // Here the error
}
}
private:
BYTE r;
BYTE g;
BYTE b;
BYTE a;
};
}
}
#endif
当我编译文件时,我收到了这个错误:
错误 1 错误 C2664: 'BSGameFramework::Graphics::Color::Color(const BSGameFramework::Graphics::Color %)' : 无法将参数 1 从 'BSGameFramework::Graphics::Color ^' 转换为 'const BSGameFramework:: Graphics::Color %' c:\users\nicola\desktop\directx 证明\bsgameframework\bsgame\Color.h 24 1 BSGame
PS:BYTE
在Defines.h中定义为unsigned char
解决了:
我已将属性更改如下:
static property Color^ White
{
Color^ get()
{
Color ^white = gcnew Color(255, 255, 255);
return white;
}
}