我有个问题
decltype
不适用
vector
.
矢量
Eq
与类型相同
holder
和
itemGrabbed
:
item* itemGrabbed;
item* holder;
std::vector<std::vector<item*>> Eq;
一切都已初始化,等等。
Eq
存储指向“继承的”对象的指针,例如来自的对象
class itemAxe
.
每一个
item
类和继承的对象具有与此参数相同的构造函数->
grapicsData
:
this->itemGrabbed = new std::remove_pointer<decltype(Eq[x][y]) > ::type{graphicsData};
this->itemGrabbed = new std::remove_pointer<decltype(holder) > ::type{graphicsData};
我想我可以这样做:
item* temp=Eq[x][y];
this->itemGrabbed = new std::remove_pointer<decltype(temp) > ::type{graphicsData};
但我想知道是否可以在没有
temp
?
问题是第二个选项有效,但我需要使用第一个选项。所有这些都是因为我需要不同的赋值和复制运算符。
我怎样才能做到这一点?