65,211
社区成员
发帖
与我相关
我的任务
分享
//.h
class Access{
public:
Access(int _weight[],int _value[],int capacity);
private:
int *weight;
int *value;
int capacity;
double profit;
};
//.cpp
Access::Access(int _weight[],int _value[],int _capacity){
weight=_weight;
value=_value;
capacity=_capacity;
profit=0;
}
//main.cpp
int main(){
int _weight[5]={1,2,3,4,5};
int _value[5]={3,2,7,4,1};
int _capacity=7;
Access a=new Access(_weight,_value,_capacity);
return 0;
}
编译时候报错:
error C2440: “初始化”: 无法从“Access *”转换为“Access”
无构造函数可以接受源类型,或构造函数重载决策不明确
class Access{
public:
Access(int _weight[],int _value[],int capacity);
private:
int *weight;
int *value;
int capacity;
double profit;
};
//.cpp
Access::Access(int _weight[],int _value[],int _capacity){
weight=_weight;
value=_value;
capacity=_capacity;
profit=0;
}
//main.cpp
int main(){
int _weight[5]={1,2,3,4,5};
int _value[5]={3,2,7,4,1};
int _capacity=7;
Access *a=new Access(_weight,_value,_capacity); //这里是指针,改下就可以了,怎么犯这么简单的错误呢。
return 0;
}
class Access{
public:
Access(int _weight[],int _value[],int capacity);
void print();
private:
int *weight;
int *value;
int capacity;
double profit;
};