Следующий исходный код правильно компилируется с Visual Studio 2010:
namespace NS
{
class X
{
};
X Y(X str);
}
void myFun()
{
NS::X x;
Y(x);
}
(это сокращенный код, где все мои собственные имена классов и функций были заменены на X, Y, ...)
Я ожидаю, что строка Y(x)
не будет скомпилирована, поскольку она должна быть NS::Y(x)
.
Этот исходный код скомпилирован с помощью следующей команды
cl /c file.cpp
Здесь нет других файлов и других параметров командной строки.
Почему этот файл компилируется?
Ошибка в VS2010? Или что-то, что я (и мои 3 других коллеги) упустили из виду?