我想在结构体内部访问一个运算符,这是可能的吗?
struct st{
float vd;
float val(){
return this[3]; //this dont work, is there a some way?
}
float operator[](size_t idx){
return vd*idx;
}
};
this[3]
无法工作的原因是因为它是一个指针,所以操作符没有被调用,但代码与所有指针一样工作(this + 3
),它返回一个指向虚构的“st结构”距离当前结构体3个“st”的指针。返回的“st”无法转换为浮点数。 - stefaanv