[Решено]Ошибка Missing ; при использовании div
Доброго времени суток. Появился такой вопрос. Допустим у меня есть на форме битмап и я хочу что бы он передвигался в какую-то определённыю точку. Как сделать что бы он двигался не по диагонали а потом по прямой а какбы по вектору сразу к той точке?
в чем проблема то? к примеру на 2 точки передвижения по Х одна точка передвижения по Y.
Код:
CreaturePos1.x+=(MoveTo.x-CreaturePos1.x)div(MoveTo.y-CreaturePos1.y);
CreaturePos1 - координаты предметов
MoveTo - координаты перемещения для каждого из предметов
цикл есть просто не писал
Это если по Х он должен перемещаться дальше чем по У.... но он пишет ошибку.
тут нет телепатов, дабы догадаться какую ошибку вам "он пишет". И ее надо привести - если вы не хотите что бы вас послали дальше чем ... У
Какой же вы умный однако... Пишет миссинг ";" Теперь вы наверное легче сможете понять как мне помочь.....Однозначно...
З.Ы. В правилах указано четко как и почему задавать вопросы. Если ты хочешь получить ответ на вопрос а не получить нарушение - вопросы надо задавать нормально, четко и корректно. И если сказано - что надо привести сообщение о ошибке - его надо привести, как и код, который его вызвал. Я думаю это понятно и сложностей не вызывает? На первый раз - предупреждение.
Код:
for(int i=1;i<100;i++) {
if(CreaturePos1.x<MoveTo.x)
if(MoveTo.x-CreaturePos1.x<MoveTo.y-CreaturePos1.y)
CreaturePos1.x+=(MoveTo.x-CreaturePos1.x) div (MoveTo.y-CreaturePos1.y);
......................
......................
if(CreaturePos1.x<MoveTo.x)
if(MoveTo.x-CreaturePos1.x<MoveTo.y-CreaturePos1.y)
CreaturePos1.x+=(MoveTo.x-CreaturePos1.x) div (MoveTo.y-CreaturePos1.y);
......................
......................
Причём если написать вот так
Код:
CreaturePos1.x+=2;
То всё нормально....Чудеса...
Ошибка в выделеном фрагменте
Код:
CreaturePos1.x+=(MoveTo.x-CreaturePos1.x) div (MoveTo.y-CreaturePos1.y);
div возращает структуру div_t и ее синтасис div_t div(int numer, int denom);
компилятор вполне обоснованно считает указанную строку - двумя строками, с разными операциями.
Код:
CreaturePos1.x+=(MoveTo.x-CreaturePos1.x) / (MoveTo.y-CreaturePos1.y);
Можно закрывать
Цитата: Frio
странно то что даже когда я брал всё выражение после += в скобки выдавалась ошибка ";"....
скобки задают приоритет выполнения, а здесь нет приоритета - есть стандартные l-value и r-value - а за ними следует по сути следующее выражение без l-value с r-value - для С++ это нормально. Скорей всего, что следующая ошибка была про незакрытые скобки. :)
Да, совершенно верно.......Сволочь говорил что нужны скобки ))) он меня на коня поднял )))