templ=new char[templ_lenght+1];
first_templ=templ;
FileRead(templ_handle,templ,templ_lenght);
if(templ_handle!=-1)
{
int i=0;
int tmp;
while(tmp=(int)*templ)
{
if((int)*templ!=44)
{
StringGrid2->Cells[1]=StringGrid2->Cells[1]+(char)tmp;
}
else
{
i++;
}
*templ++;
}
Откуда взялось предупреждение?
Код:
При компиляции выдается сообщение "[C++ Warning]W8060 Possibly incorrect assignment" и ругается на строчку
Код:
while(tmp=(int)*templ)
Я понимаю, что это всего лишь предупреждение, а не ошибка, но все таки хотелось бы знать, стоит ли на это обращать внимание
Код:
while(tmp==(int)*templ)
но ошиблись.
Напишите так
Код:
while( (tmp=(int)*templ) != 0 )
и предупреждение исчезнет и читающему станет чуть понятней.
P.S. не понял зачем tmp объявлен как int.
Цитата: nikitozz
P.S. не понял зачем tmp объявлен как int.
Что бы можно было получить код символа, а не сам сивмвол
Цитата: Posix86749
Что бы можно было получить код символа, а не сам сивмвол
А чем, по вашему, различаются две этих сущности?
Цитата: Lerkin
А чем, по вашему, различаются две этих сущности?
[OFFTOP]
Lerkin'а с Ветеранством. Не удержал таки три девятки. :)
[/OFFTOP]
Цитата: Lerkin
А чем, по вашему, различаются две этих сущности?
в данном контексте принципиально не чем, но так умные люди посоветовали http://forum.codenet.ru/showthread.php?t=55758