Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Ошибка конвертирования


Автор: rthsobakas 3.10.2008, 17:56
CANNOT convert 'void far*' to 'mcb far*'

Как можно проконвертировать? могу код выложить если интересно... Выложить?

Добавлено через 10 минут и 26 секунд
Вот вощем, есть такая функция...
Код

* Vivod spiska adresov blokov MCB i imen ih vladelcev   
   */ 

int SBOP(void)
{
union REGS regs; 
struct SREGS segregs;
typedef struct
{
   unsigned char marker; 
   unsigned int owner; 
   unsigned int sizePara; 
   unsigned char dummy[3]; 
   unsigned char name[8]; 
  }mcb;
mcb far *ptr; 
unsigned int segm, i; 
regs.h.ah = 0x52; 
intdosx(&regs,&regs,&segregs); 
segm = peek(segregs.es,   regs.x.bx - 2); 
printf(" adres MCB     razmer bloka    imya vladelca\n"
"    pamyati  (bait)\n\n");
ptr = MK_FP(segm,  0);
printf("    %04x:0000    %8lu        ",   segm,
(long)ptr->sizePara * 16); 
  if(!ptr->owner)printf("blok svoboden"); 
   else if( _osmajor >= 4 && (segm + 1) == ptr->owner)
    for(i=0;  i<=7;  i++) printf("%c",  ptr->name[i]);
printf("\n");
while( ptr->marker ==  'M')
    {
segm = segm + ptr->sizePara + 1;
ptr = MK_FP(segm,  0);
printf("    %04x:0000         %8lu        ",  segm,
       (long)ptr->sizePara * 16); 
if(!ptr->owner)printf("blok svoboden"); 
 else if(_osmajor >= 4 && ( segm + 1) == ptr->owner)
for(i=0;   i<=7;  i++) printf("%c",  ptr->name[i]); 
     printf("\n");
    }
return 0;
}




это строчка выдает ошибку
ptr = MK_FP(segm,  0);

А, все разобрался
То есть ptr = (mcb far* )MK_FP(segm,  0); надо писать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)