system не является однозначным



Автор Јляп Шляпович задал вопрос в разделе Другие языки и технологии

Помогите пожалуйста исправить ошибку в коде программы (C++). Был бы благодарен. и получил лучший ответ

Ответ от Valrand()[гуру]
Причина: здесь, возможно, компилятором делается попытка интерпретировать "cout << count << ...какая-то чушь" как стандартную шаблонную функцию std::count.
Ты сделал ТРИ ошибки, которые сделали ГОВНОМ этот исходный код:
1) Свалил пространство имен std в общую кучу, с легкой руки вычертив using namespace std;
2) НЕ указывал оператор :: перед обращением к глобальной переменной
3) НЕ удосужился отформатировать исходник, но очень круто выложил это в pastebin
Первые две ошибки стали фатальными.
Вывод: стайлгайд в руки и стараться подражать!
Valrand()
Мыслитель
(7718)
В C++ в пространстве имен std есть функция count:
http://www.cplusplus.com/reference/algorithm/count/
По моему предположению (судя по ошибкам, которые у тебя вылезают через одну с прототипом этой функции), студия пытается тебе сказать, что она не уверена в твоих действиях, хочешь ли ты переменную или функцию вызвать.
Потому, лучше обращаться к глобальным переменным явно указывая оператор расширения области видимости, например так:
::counter++;
Что считается хорошим тоном в программировании и оберегает от таких ошибок.
Второй вариант, позволяющий избежать проблемы - импортировать только необходимые элементы пространства имен std, а не все целиком, например:
using std::cout;
usint std::cin;
вместо using namespace std;
Сейчас ты только учишься (программа по сути на С, принадлежность к С++ тут выдают только средства ввода-вывода, namespace и операторы new/delete), но когда освоишь C++ с ООП, постарайся свести к минимуму использование глобальных переменных.

Ответ от Лин Яо[гуру]
count определен внутри записи TREE. Значит обращаться к нему нужно TREE.count И, блин, форматируйте код. Глаза же сломать можно 🙁 upd: так там две переменных count o_0

Ответ от =Serge=[гуру]
Исправить count на другую переменную, например countеr. Исправить декрименты на --.Разрулить инициализацию parent. Приступить к отладке.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Помогите пожалуйста исправить ошибку в коде программы (C++). Был бы благодарен.
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*