С++ Error: use undeclared identifier 'factory_candy'
Есть код
if (factory_data.count("candys") == 1) auto& factory_candy = get<uint64_t(factory_data["candys"]);
else auto factory_candy = 1;
После этого я использую эту переменную. При компиляции пишется, что переменная не определена. Подскажите, как сделать правильно ?
Ответы (1 шт):
Автор решения: DiHASTRO
→ Ссылка
Есть такая вещь, как область видимости. Грубо говоря то, что было создано внутри фигурных скобок, остаётся внутри фигурных скобок. Однако область видимости не ограничивается фигурными скобками, а, как в вашем случае, ещё появляется в условном операторе. То есть ваша созданная переменная внутри условных выражений попросту исчезает в никуда.
Дабы решить проблему, вам нужно объявить переменную заранее вне условного оператора.