Как присвоить переменную к указателю?

115
25 января 2020, 23:20

У меня проблема с присваиванием значения переменной "a" к указателю "knockback", возникает ошибка: "error-type knockback это объявление не содержит класс хранения или спецификатор типа".

#include<iostream>
#include<windows.h>
using namespace std;
int*knockback;
int a=8000;
knockback = &a;
int nknockback = 12;
Answer 1

Вообще-то все действия в программе на C++ выполняются в функциях, начиная с функции main. Вы объявляете переменные в глобальной области видимости, а тут возможна только инициализация, но не присваивание, которое вы постарались выполнить строчкой

knockback = &a;

Если вы напишете

int a=8000;
int*knockback = &a;
int nknockback = 12;

проблем не будет - объявлены и инициализированы три переменные.

Не будет проблем и при переносе присваивания в main:

int*knockback;
int a=8000;
int nknockback = 12;
int main()
{
    knockback = &a;
}
READ ALSO
Форвардная декларация typedef

Форвардная декларация typedef

Допустим, определен новый тип

124
Проверка нескольких bool в одном условии

Проверка нескольких bool в одном условии

Как я могу сократить данную строку? C++

111
Как отправить одним байтом значения дня(1-31)

Как отправить одним байтом значения дня(1-31)

Программа клиент должна отослать на сервер значения:

131
Как реализовать пропуск второго эл-та пары, если он не рядом стоит?

Как реализовать пропуск второго эл-та пары, если он не рядом стоит?

Нужно написать код, который будет искать количество пар одинаковых элементов, чтоб их считало только один раз

115