我正在尝试创建一个新数组,其正值仅取自已创建的数组,当我循环遍历原始数组时,索引出现错误“表达式必须具有指向对象类型的指针”我尝试进行研究关于错误,每个人在收到此错误时的情况都不同,所以我自己解决这个问题。这是我的代码:
int foo::createNewArray() const {
int newarray[50];
int oldarray = oldarray[values];
int size = (sizeof(oldarray));
for (int i = 0; i > size; i++){
if (oldarray[i] > 0)
newarray[i] = oldarray[i];
}
上面的“i”是有错误的。 oldarray[values] 在单独的类文件中声明。这是代码的一小部分。
class foo{
int oldarray[1];
enum unit {values};
public:
int createNewArray() const;
};
最佳答案
这里你用一个本地 int
变量隐藏了 oldarray
数组:
int oldarray = oldarray[values];
从那时起,直到 block 结束,oldarray
表示一个 int,然后其余代码对此没有多大意义。
关于创建新数组 : Expression must have pointer to object type 时出现 C++ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16656709/