首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >托管C++错误C2664

托管C++错误C2664
EN

Stack Overflow用户
提问于 2014-01-03 14:52:16
回答 2查看 247关注 0票数 0

我有这样的结构:

代码语言:javascript
复制
#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错误:'BSGameFramework::Graphics::Color::Color(const bsgameframework:图形:颜色%):无法将参数1从‘bsgameframework::BSGame ^’转换为‘::BSGame::BSGame %’c:\users\nicola\桌面\directx证明\bsgameframework\BSGame\BSGame\h241 BSGame

PS:BYTE在Defines.h中定义为unsigned char

已解决:

我已将该属性更改如下:

代码语言:javascript
复制
static property Color^ White
{
    Color^ get()
{
    Color ^white = gcnew Color(255, 255, 255);

    return white;
}
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-03 15:06:51

将属性更改为:

代码语言:javascript
复制
static property Color^ White
{
  Color get()
  {
    Color ^white = gcnew Color(255, 255, 255);

    return white;
  }
}

代码语言:javascript
复制
static property Color White
{
  Color get()
  {
    return Color(255, 255, 255);
  }
}
票数 1
EN

Stack Overflow用户

发布于 2014-01-03 14:57:21

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

代码语言:javascript
复制
Color(Color% color)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20906332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档