【问题标题】:property of array<ref struct structname^>^ typearray<ref struct structname^>^ 类型的属性
【发布时间】:2012-01-09 19:23:54
【问题描述】:

我在声明数组^类型的 C++ 属性时遇到问题。

我是这样做的..

array<ref struct structname^>^ variable = gcnew array<ref struct structname^>(10);


property array<ref struct structname^>^ PROPERTY
{
array<ref struct structname^>^ get();
void set();
}

array<ref struct structname^>^ class::get()
{
return variable;
}

void class::set(array<ref struct structname^>^ x)
{
//code here
}

我收到这样的错误:

错误 C2556:'cli::array ^namespace::class::PROPERTY::get(void)' : 重载函数的不同之处仅在于返回类型 'cli::array ^namespace::class::PROPERTY::get(void)'

【问题讨论】:

  • 您是直接从 C 迁移到 C++/CLI,还是真的有理由在每次出现 structname 之前添加 ref struct
  • 我希望你的课不是真的叫class。或者我想知道这个是怎么编译的。

标签: .net struct c++-cli ref


【解决方案1】:

在做了一些假设并清理了各种编译器错误之后,我并没有看到您看到的编译器错误(请参阅下面的代码)。如果你想要一个更好的答案,你应该发布你的实际代码,这样当其他人编译它时,他们会看到和你一样的错误。

ref struct structname
{

};

ref class myclass
{
    static array<structname^>^ variable = gcnew array<structname^>(10); 

    property array<structname^>^ PROPERTY 
    { 
        array<structname^>^ get(); 
        void set(array<structname^>^ x); 
    } 
};

array<structname^>^ myclass::PROPERTY::get() 
{ 
    return variable; 
} 

void myclass::PROPERTY::set(array<structname^>^ x) 
{ 
    //code here 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 2014-01-17
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多