Ошибки, баги, вопросы - страница 1925
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нет сообщения об ошибке
Должны присутствовать или явный конструктор или инициализирующая последовательностьНет сообщения об ошибке
Из-за конструктора. Так что все норм.
Из-за конструктора. Так что все норм.
Из-за конструктора, который ничего не делает ?
Если можно не инициализировать const int A::a то зачем тогда обязательно инициализировать const int b в предыдущем случае?
Из-за конструктора, который ничего не делает ?
Да, из-за пустого конструктора по-умолчанию.
Если можно не инициализировать const int A::a то зачем тогда обязательно инициализировать const int b в предыдущем случае?
Почему вместо Warning выдает Error? Ведь можно же так
ИМХО, должен быть Warning, когда const-переменная простого типа не инициализируется. И не должно быть Warning, когда значение OrderSend не проверяется. Но это, похоже, видение правильного разработчиками. Т.е. аргументация субъективна.
Почему вместо Warning выдает Error? Ведь можно же так
Потому что использование неинициализированной константной переменной лишено смысла - поэтому и ошибка (она содержит случайное значение и это нельзя в дальнейшем изменить)
Потому что использование неинициализированной константной переменной лишено смысла - поэтому и ошибка (она содержит случайное значение и ее дальнейшее использование приведет к трудноуловимым ошибкам)
В цитате зачеркнул одно слово, но смысл не изменится, если в дальнейшем будут только read-only операции. Для non-const выдает Warning, для const - Error. Это просто одно из спорных решений разработчиков.
, если в дальнейшем будут только read-only операции.
Компилятор не знает (и не должен знать) какие будут в дальнейшем операции (иначе время компиляции будет часы а не минуты)
Компилятор дошел до 1-ой строки - выдал предупреждение - потому что дальнейшие операции он не анализирует, а переменную <a> можно инициализировать позднее. А если
то выдал бы ошибку потому что ее нельзя инициализировать позднее (а дальнейшие операции компилятор не анализирует и не знает что она например в дальнейшем вообще не используется)
Все логично и не зависит от субъективных предпочтений
Компилятор дошел до 1-ой строки - выдал предупреждение - потому что дальнейшие операции он не анализирует, а переменную <a> можно инициализировать позднее. А если
то выдал бы ошибку потому что ее нельзя инициализировать позднее (а дальнейшие операции компилятор не анализирует и не знает что она например в дальнейшем вообще не используется)
Все логично и не зависит от субъективных предпочтений
Нелогично, почему нельзя использовать мусорную const-переменную.