Я получил код из здесь .
class Timer {
public:
Timer();
};
class TimeKeeper {
public:
TimeKeeper(const Timer& t);
int get_time()
{
return 1;
}
};
int main() {
TimeKeeper time_keeper(Timer());
return time_keeper.get_time();
}
Судя по всему, он должен получить ошибку компиляции из-за строки:
TimeKeeper time_keeper(Timer());
Но это только происходит, если присутствует return time_keeper.get_time ();
.
Почему эта строка вообще имеет значение, компилятор обнаружит двусмысленность в конструкции time_keeper (Timer ())
.
]