Я думаю, что GWW выдвинул на первый план проблему, но часть обучения программированию, чтобы узнать, как идентифицировать ошибки.
Если вы что-то делаете и не получаете ожидаемого результата, вы можете:
- Используйте отладчик Visual C ++ для просмотра и просмотра значений ваших переменных.
- Вставьте строки журнала, чтобы сообщить информацию, которую вы считаете важной
- проверьте код - если вы считаете, что что-то правильно, но это не работает, перейдите к более раннему шагу и убедитесь, что все правильно.
- Добавить модульные тесты или следовать дизайну по контракту, добавив условия до / после и инварианты класса.
Обучение программированию на C ++ путем написания связанного списка похоже на изучение математики путем добавления 1 + 1. Это старомодное мышление, медленное и в основном скучное, без какого-либо контекста.
Математика не вычисляет, как программирование на C ++ не манипулирование указателями. На каком-то этапе вам, возможно, потребуется знать об этом, но лучше изучать другие важные вещи, такие как stl и boost.
Если понималось, что append()
может что-то создать, найдите конец списка, добавьте его. Затем вы можете увидеть, что в функции добавления у вас есть что-то смешанное с переходом в конец списка, но вы никогда не добавите его.