我试图创建一个仅从已经创建的数组中获取正值的新数组,并且当我循环遍历原始数组时,索引出现错误“表达式必须具有指向对象类型的指针”,我尝试对此错误进行研究,并且在遇到此错误时每个人的情况都不同,所以我自己一个人做。这是我的代码:
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;
};
最佳答案
在这里,用局部oldarray
变量对int
数组进行阴影处理:
int oldarray = oldarray[values];
从那时起,直到块末尾,
oldarray
表示一个int,然后其余代码对此没有多大意义。