如果方法應該返回B
類型的對象,爲什麼它返回int
的方法B minus
?它爲什麼會在返回一個對象的方法中返回一個int?
#include <iostream>
class B
{
public:
int a;
public:
B(int i=0)
{
a=i;
}
B minus()
{
return (1-a);
}
};
int main()
{
B x(18);
x = x.minus();
std::cout << x.a << '\n';
return 0;
}
你沒有標註你的構造'explicit'。 – user2357112
看看你的'B'構造函數。 「B」如何構建? – PaulMcKenzie
我假設由於構造函數採用int,所以它也是從int中隱式構造的。 –