Решено: Теоретический вопрос: namespaces в C++

Модератор: Модераторы разделов

Аватара пользователя
inline
Сообщения: 72
ОС: Gentoo

Решено: Теоретический вопрос: namespaces в C++

Сообщение inline »

Возник теоретический вопрос: почему не компилируется следующий код:

Код: Выделить всё

#include <iostream>

namespace NamespaceTest
{
    using std::cout;

    int main()
    {
        cout << "NamespaceTest\n";

        return 0;
    }
};

using NamespaceTest::main;

ведь в глобальном пространстве имен используется имя функции main?
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Решено: Теоретический вопрос: namespaces в C++

Сообщение v04bvs »

Имя функции main ищется на последнем этапе связывания. И оно
должно быть main а не NamespaceTest::main. Объявление using
действует только для последующего кода и локально в единице
компиляции, на связывание оно не воздействует.
Спасибо сказали:
Аватара пользователя
inline
Сообщения: 72
ОС: Gentoo

Re: Решено: Теоретический вопрос: namespaces в C++

Сообщение inline »

v04bvs писал(а):
18.06.2007 16:39
Имя функции main ищется на последнем этапе связывания. И оно
должно быть main а не NamespaceTest::main. Объявление using
действует только для последующего кода и локально в единице
компиляции, на связывание оно не воздействует.

Спасибо за исчерпывающий ответ!
Спасибо сказали: