Рейтинг:
9
Member 12702056
ppolymorphe, хорошо, спасибо :)
Я постараюсь .
Patrice T
Сохраните книги на своем компьютере и проведите хорошую лекцию :)
Member 12702056
ладно :)
но я новичок в c++, я начал в этом году,так что благодаря этому я узнаю из видео о c++ больше,чем из книг. :)
Patrice T
Книги являются справочниками
Книга на языке Си написана авторами языка Си.
Книга C++ написана автором языка C++.
Member 12702056
Я понял, что вы имеете в виду:) что это должно быть лучше, чем видео :)
Я видел, что вы профессиональный программист по своему профилю . Могу ли я спросить вас, что я хочу быть отладчиком c++, что я должен для этого сделать? Кроме того, чтобы лучше знать этот язык, что я должен делать? :) не могли бы вы дать мне совет, пожалуйста?
Patrice T
Лучше всего задавать больше вопросов здесь.
Я не специалист по C++, и другие эксперты отвечают здесь
Member 12702056
спасибо :)
я новичок на этом сайте,я не знаю, как я могу спросить эксперта?я не имею в виду значение, я знаю значение слова эксперт
Patrice T
Просто разместите свои другие вопросы так же, как и этот. Эксперты здесь.
Maciej Los
Вы должны обновить свой первый ответ, а не публиковать другой!
Patrice T
Я сделал это исключительно потому, что ссылки не связаны с первым решением и, возможно, перепутали бы его со слишком многими вещами.
У меня есть это второе решение, потому что после разговора с OP я увидел некоторую ошибку отсутствия фоновых знаний.
Maciej Los
Я понимаю это, но в принципе вы должны опубликовать только один ответ.
Овации,
Мацей
Patrice T
Это то, что я обычно делаю.
Овации
Рейтинг:
26
Patrice T
Цитата:
Я думаю, что они были объявлены как параметры функции.
Где вы видите их объявленными в этой функции ?
T show()
{
return(x>y)?x:y;
}
Может быть, вам стоит использовать
a
и
b
вместо этого ?
[Обновление]
Цитата:
они объявлены для функции set.
и почему я не могу использовать другие переменные?
Они объявили в комплекте функция только для установленной функции.
[Обновление]
В
show
, вы можете использовать
a
и
b
потому что вы объявили их в определении класса.
class myMax{
T a,b;
Dave Kreskowiak
Это понятие называется "сфера действия". Может быть, тебе стоит почитать об этом.
Переменные могут использоваться только в пределах определенной области. Поскольку вы определили их в рамках set
метод они не видны нигде за пределами этого метода (области действия).
Мой C++ довольно ржавый, но, похоже, вам нужно явно установить значения полей a
и b
используя значения, переданные в set
метод как x
и y
. Затем вы можете вернуть максимальное значение a
и b
от вашего show
метод вместо использования x
и y
ценности.
Member 12702056
но почему я не могу использовать (не x, y)/например k,f вместо a и b?я понял,что x,y-это параметры другой функции, поэтому они используются только в своей области действия.
но я имею в виду, почему я не могу использовать другие имена переменных вместо a и b?
я думаю,что для этого должна быть причина, но я не могу найти эту причину.
ты знаешь это?Если вы знаете,пожалуйста, дайте мне знать
Member 12702056
Большое спасибо :)
Member 12702056
ppolymorphe, они объявлены для функции set.
и почему я не могу использовать другие переменные?
связано ли это с тем,что мы устанавливаем x в a и y в b, а затем должны использовать для отображения только эти переменные?
Patrice T
Я только что обновил свое решение.
Member 12702056
Большое спасибо :)
Рейтинг:
16
Afzaal Ahmad Zeeshan
Код, который вы показываете,
T show()
{
return(x>y)?x:y;
}
Недопустимо, если посмотреть на определение класса (посмотрите на члены!). Вы определили только A и b как свойства в классе, x и y не заданы как свойства какого-либо типа и, следовательно, не определены в данной области.
Цитата:
работали только А и Б.
Это происходит потому, что a и b определены как свойства (члены) в вашем классе типа
T
- Это прекрасно исполняется. Потому что компилятор знает, какой тип использовать и где они определены в области видимости (как члены).
Решение этой проблемы состоит в том, чтобы просто использовать имена a и b. Не используйте x и y; потому что это также потребовало бы изменения определения класса!
Member 12702056
Афзааль Ахмад Зеешан, большое вам спасибо
Наконец, я получил то, что хотел понять точно :)