Können Sie in diesem Beispielcode aussehen:Rückkehr Bezugnahme auf einen const Zeiger auf const Typen
class Test {
int *a;
int b;
public:
Test() : b(2)
{
a = new int(5);
}
const int * const& GetA() const
{
const int * const& c = a;
return a;
}
const int& GetB()
{
return b;
}
~Test()
{
delete a;
}
};
Und ich bekomme eine Warnung bei der Rückkehr ein. Warum ist es falsch, einen Verweis auf einen const-Zeiger auf eine const-Variable zurückzugeben, aber es ist in Ordnung, einen Verweis auf eine const-Variable zurückzugeben? By the way, wenn ich c in GetA() zurückgeben, kompiliert es einfach gut.
Welche Warnung erhalten Sie? – NathanOliver
Kann ein Problem nicht auf VS 2015 – alexeykuzmin0
reproduzieren Ich bekomme einen Verweis auf temporäre [-Wreturn-local-addr]. – lepo