可视化 如何解决错误:无法在 C++ CLR 中从'OSamp::Weapon'转换为'OSamp::Weapon'

visual How to resolve error : Cannot convert from 'OSamp::Weapon' to 'OSamp::Weapon' in C++ CLR

本文关键字:OSamp Weapon CLR 中从 转换 C++ 何解决 解决 可视化 错误      更新时间:2023-10-16

我得到一个奇怪的错误,说不能转换类型到自己!
谁能告诉我这里出了什么问题?

?
public ref class Weapon{
private :
    int Slot_, Id_, Ammo_;
    System::String^ Name_;
public :
    Weapon(EWeapons Id, int Ammo) : Id_((int)Id), Ammo_(Ammo){}
    Weapon(int Id, int Ammo) : Id_(Id), Ammo_(Ammo){}
//other part of code...
}
property OSamp::Weapon Weapon{
    OSamp::Weapon get(){
        return OSamp::Weapon(1, 1000);
// error C2440: 'return' : cannot convert from 'OSamp::Weapon' to 'OSamp::Weapon'
    }
}

您应该使用值类而不是引用类

值类可以按值传递,而不需要通过引用指针传递。