Re[9]: Пописал на С++... долго думал :)
От: GlebZ Россия  
Дата: 20.10.05 07:51
Оценка: 1 (1) -1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Позволю себе вмешаться. Синтаксическую ошибку в программе VladD2 компилятор нашел, но посчитал ее предупреждением. Не обращать внимание на предупреждения не стоит ни в С++, ни в С#. Как минимум, надо на них посмотреть и решить, стоит ли игнорировать, а лучше вообще убрать.

+1. Только есть некоторая разница. Это компилятор посчитал ее предупреждением. Хотя и ясно, что подобная ошибка предупреждением быть не может. Непонятно о чем думали разработчики компилятора.

PD>А что касается вывода, то ошибка в спецификации строки вывода ловится только в рантайме. Вот такое

PD> float f = 9;
PD> Console.WriteLine("{0,8:d}", f);
PD>компилируется на ура
Абсолютно правильно компилируется. Это ошибка семантики программиста. Но есть достаточно много ситуаций когда среда может говорить об ошибке постфактум. Типа:
//такое даст ошибку компиляции
bool b=true;
int i=(int)fl;
//такое даст ошибку при исполнении
bool b=true;
object obj=b;
int i=(int)b;

Но по крайней мере я знаю, что компилятор старается помочь мне.

PD>А вот такое

PD> Console.WriteLine("{0,8:d}");
PD>и вообще работает, только выводит не то, что автор хотел , а то, что здесь есть.
Это семантическая ошибка программиста. Среда всего-лишь выполнила то, что программист ей сказал. А что программист хотел, ни один язык не предугадает.

С уважением, Gleb.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.