gpt4 book ai didi

c++ - 取消引用指针算术后出现类型错误?

转载 作者:行者123 更新时间:2023-11-28 02:58:16 25 4
gpt4 key购买 nike

我很好奇为什么下面的代码不起作用。特别是,编译器似乎将 *(result + i) 视为 gVector3 类型而不是 float 。但是 result 是一个指向 float 数组的指针,对吧?那么取消引用指针不会返回一个 float 吗?您可以假设定义了 gVector3 和 gMatrix3。

    /* returns the column vector at index i */
gVector3 gMatrix3::getColumn(unsigned int index) const{
gVector3* result = new gVector3();
for (int i = 0; i < 3; i++){
*(result + i) = data[i][index];
}
return *result;
}

最佳答案

如果 gVector3 是一个类,那么它可能会重载 operator[],这是您应该使用的。否则,您将对对象本身执行指针运算。试试这个:

(*result)[i] = data[i][index];

关于c++ - 取消引用指针算术后出现类型错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21506620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com