Ошибка переменной does not name a type!

У меня нет большого опыта программирования на C++. Я получаю эту ошибку

'z' does not name a type!!!

чего я не видел в MATLAB или Python... Что не так??? Это так просто!!!

float x=10; float y=50; float z;
z=x*y;

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

, 👍2

Обсуждение

float z=x*y; будет работать, @Juraj


1 ответ


Лучший ответ:

5

Вы не можете поместить выражение-выражение вне функции. Вне функций можно размещать только объявления переменных (и эти переменные называются глобальными/глобальными переменными).

Попробуйте следующее:

float x=10; float y=50; float z;


void setup() {
  // поместите сюда свой код установки для однократного запуска:
  z=x*y;
}

void loop() {
  // поместите сюда свой основной код для многократного запуска:
}

Обновить

Что даже проще и тоже работает (спасибо Руслану и Юрай):

float x=10; float y=50; float z=x*y;

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}
,

Спасибо. довольно простая вещь, которую я не знал о C++., @2012User

Вы можете поместить _expression_ вне функции (например, float z=x*y; содержит выражение x*y и может появиться в области пространства имен). Чего вы не можете поместить туда, так это _оператор-выражение_ (или оператор любого другого типа)., @Ruslan

@Руслан Спасибо за разъяснения; Я добавил слово утверждение в свой ответ., @Michel Keijzers

и float z=x*y;, @Juraj