葱葱那年丶 2018-12-27 19:45 采纳率: 100%
浏览 496
已结题

c++常引用有关的问题?

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

typedef int * PINT;
void test1(const int *&a)
{
    cout << "test1" << endl;
}
void test2(const PINT &a)
{
    cout << "test2" << endl;
}
int main()
{
    int a = 111;
    const int *p1 = &a;
    int *p2 = &a;
    //test1(p2);//为什么这行编译不过?
    test1(p1);

    PINT p3 = &a;
    test2(p3);

    system("pause");
}

注掉的哪一行为什么编译不过?

  • 写回答

2条回答 默认 最新

  • threenewbee 2018-12-27 11:50
    关注

    需要加上类型转换
    test1((const int *&)p2);

    评论

报告相同问题?