przestrzenie globalne, przestrzenie nazw

0

Witam. Jak poprawić ten program aby działał?

#include <iostream> // imports the declaration of std::cout

using namespace std; // makes std::cout accessible as "cout"

int cout() // defines our own "cout" function in the global namespace
{
    return 5;
}

int main()
{
    cout << "Hello, world!"; // Compile error!  Which cout do we want here?  The one in the std namespace or the one we defined above?

    return 0;
}
4

Zasada numer 1. Nie używać using namespace std;
https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#sf6-use-using-namespace-directives-for-transition-for-foundation-libraries-such-as-std-or-within-a-local-scope-only

Zasada numer 2. Jeśli stosuje z funkcje o tak prostych nazwach, to te funkcje umieszczać w jakimś własnym namespace.

https://www.learncpp.com/ rozdział 2 podrozdział 8

Tam nie ma using namespace

0

W czym tkwi problem? Czego z komentarzy w tym kodzie nie rozumiesz?

1 użytkowników online, w tym zalogowanych: 0, gości: 1