Я пытаюсь использовать приведенный ниже код, используя несколько пространств имен (меняющих пространства имен) внутри функции. Я не уверен, что это неправильно, я даже не уверен, могу ли я использовать, как показано ниже, но не нашел никаких противоречащих доказательств в моем коротком просмотре, пожалуйста, дай мне знать, что это не так:C++: несколько пространств имен внутри функции
#include <iostream>
using namespace std;
namespace standard_one
{
int i = 10;
}
namespace standard_two
{
int i = 40;
}
main()
{
using namespace standard_one;
cout << "value of i is " << i << endl;
{
using namespace standard_two;
cout << "value of i after namespace change is " << i << endl; // Compilation error here, compiler is complaining that "i" is undeclared
}
}
Самым неправильным является то, что 'main' не имеет типа возврата. – ybungalobill
@ybungalobill: Да, принято, код поспешно написан только для иллюстрации – user2460477