Properties 托管C++;错误C2664

Properties 托管C++;错误C2664,properties,copy-constructor,managed-c++,c2664,Properties,Copy Constructor,Managed C++,C2664,我有这个结构: #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,

我有这个结构:

#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(常量BSGameFramework::Graphics::Color%)”:无法将参数1从“BSGameFramework::Graphics::Color^”转换为“常量BSGameFramework::Graphics::Color%”c:\users\nicola\desktop\directx prove\BSGameFramework\bsgame\Color.h 24 1 bsgame

PS:
字节
在Defines.h中定义为
无符号字符

已解决:

我已按如下方式更改了属性:

static property Color^ White
{
    Color^ get()
{
    Color ^white = gcnew Color(255, 255, 255);

    return white;
}
}

const
对于托管类型参数没有意义。将构造函数更改为:

Color(Color% color)

将属性更改为:

static property Color^ White
{
  Color get()
  {
    Color ^white = gcnew Color(255, 255, 255);

    return white;
  }
}


它不是C++。C++、C++、C++、CLI、C++和CX都是不同的语言。请编辑标签删除C++并添加正确的标签。好的,对不起,完成了!如果你能标记出发生错误的代码行,那会有帮助的。谢谢。我提到了C++ + CLI和C++ + CX,因为我不认为你使用的是真正管理的C++(根据,没有使用代码> REF Stult),但是我不确定它应该被标记为什么。或者我可能误解了托管C++是什么:多亏了你,也完成了:DThanks现在它工作了,你也忘了在Color^get()中更改Color get(),所以现在我有了这个静态属性Color^White{Color^get(){Color^White=gcnew Color(255,255,255);return White;}你能解释一下什么是颜色吗?我添加了另一个例子,它不在堆上分配对象,因为
Color
是一个
struct
static property Color White
{
  Color get()
  {
    return Color(255, 255, 255);
  }
}