【发布时间】:2019-11-18 19:45:13
【问题描述】:
class A{
private:
T x;
public:
A():x(0){}
A(T x1):x(x1){}
void printInfo(const T& a){
cout<<"Succes1"<<endl;
}
};
class B{
private:
int x;
A<int*> var;
public:
B():x(0){}
B(int x1):x(x1){}
void printInfo(const int * a){
var.printInfo(a);
}
};
问题与
void printInfo(const int * a){
var.printInfo(a);
}
它给出了一个错误,说从'const int*'到'int*'的转换无效
但适用于int *a 或int *const a
不应在 A 类中 void printInfo 看起来像
void printInfo(const int* a)
这对吗?
cont int *p, //pointer to constant int
int* const p //constant pointer to int
如果是这样的话,应该有错误
printInfo(int* const a)
没有
printInfo(const int * a)
【问题讨论】:
标签: c++