帮朋友问一个C++的问题
下面的程序是C++的,问题好像在第26行:int temp=data[0];data 是 int *IntArray::data 型,temp 是 int 型,于是 操作数类型不兼容("int *" 和 "int")
导致(第29行)不能将 "int *" 类型的值分配到 "int" 类型的实体
程序代码:
#include<iostream> using namespace std; class IntArray{ int *data; int size; public: int getSize(); int setVal(int pos,int val); int getMaxVal(); int getMinVal(); }; int IntArray::getSize() { int size=3; return size; } int IntArray::setVal(int pos,int val) { if((pos<0)||(pos>size)) return -1; data[pos]=val; return 0; } int IntArray::getMaxVal() { int temp=data[0]; for(int i=0;i<size;i++) { if(data>temp)temp=data; } return temp; } int IntArray::getMinVal() { int temp=data[0]; for(int i=0;i<size;i++) { if(data<temp) temp=data; } return temp; } int main(){ IntArray array; int i,size,v,max,min; size=array.getSize(); cout<<"please input "<<size<<" numbers:"<<endl; for(i=0;i<size;i++){ cin>>v; array.setVal(i,v); } max=array.getMaxVal(); min=array.getMinVal(); cout<<"max value is : "<<max<<endl; cout<<"min value is : "<<min<<endl; return 0; }