C ++ / CLI中多个索引属性的问题

时间:2013-11-10 16:32:44

标签: c++-cli

我正在尝试为List>实现索引属性;在C ++ / CLI中。我正在使用Visual Studio Express 2013.无论我做什么,简单的类语句都不会编译。索引属性的get函数的错误消息是default :: get:function不接受2个参数,然后default :: get:function不接受0个参数。 set函数的错误消息非常相似 - default :: set:function不带3个参数,然后default :: set:function不带0个参数。

我对编写类和属性非常新;它可能是我忽略的简单事物。我很难过。

代码如下:

#pragma once;

#include "stdafx.h"

using namespace System;
using namespace System::Collections::Generic;


public ref class Multilist
{
private:
    List<List<int>^>^ mlist;

public:
    Multilist()
    {
        mlist = gcnew List<List<int>^>;
    }

    property int default[int,int]
    {
        int get( int indx1, int indx2 )
        {
            if( indx1<0||indx2<0 )
                throw ("Cannot have negative index values");
            else
                return mlist[indx1, indx2];
        }

        void set( int indx1, int indx2, int value )
        {
            mlist[indx1,indx2] = value;
        }
    }
};

1 个答案:

答案 0 :(得分:0)

默认属性在最近的编译器版本中被破坏了。

使用非保留名称,并使用属性指定要使用的C#的默认值。