Как обратиться к глобальной переменной из функции в которой уже имеется переменная с таким же названием? Допустим есть программа
#include <iostream>
int q=15;
void main()
{
int q=10;
std::cout<<q<<endl;
}
Как можно обратиться к глобальной q?
Для того что бы обратиться к переменной, которая определена не как локальная в функции, используйте оператор ::
оператор разрешения области, перед переменной.
#include <iostream>
int q=15;
int main()
{
int q=10;
std::cout << ::q << std::endl; // выведет 15
}
Для избежания повторных, или же похожих вопросов, дополню, что этот оператор работает не только на локальных переменных, но и на области называемой namespace'ами.
Т.е. к примеру, у вас есть класс window
, а так же есть namespace window {...
:
namespace window
{
int posX;
class window
{
int posX;
...
}
}
Вы так же можете обратиться к переменной расположенной в пространстве имен, прямо из класса, используя этот оператор:
namespace window
{
class window {
window(...)
{
posX = ::window::posX; // для примера
}
...
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Даны натуральные числа a, b, cЕсли уравнение ax+by=c имеет решения в целых числах, то выберите то решение, в котором число x имеет наименьшее неотрицательное...