在模板函数中从'const int *'到'int *'的无效转换

问题描述 投票:1回答:1
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中的printInfo无效

void printInfo(const int* a)

这是正确的吗?

cont int * p,//指向常量int的指针

int * const p //指向int的常量指针

[如果这样的话,应该是错误的

printInfo(int * const a)

不带

printInfo(const int * a)

A类{私人:T x;公开:A():x(0){} A(T x1):x(x1){} void printInfo(const T&a){cout <

c++
1个回答
0
投票
void printInfo(const int * a){
© www.soinside.com 2019 - 2024. All rights reserved.