Subj : Re: Problems with getvect/setvect under Borland C 3.1 To : borland.public.cpp.borlandcpp From : "Ed Mulroy [TeamB]" Date : Fri Jan 30 2004 08:28 pm The error is not about getvect or setvect but about the function pointer pointer that is to be associated with the interrupt. I don't have BC++ 3.1 mounted but this is from the DOS.H of TC++ 1.01 so should be close to what you have. #ifdef __cplusplus void interrupt (far * _CType getvect(int __interruptno)) (...); void _CType setvect (int __interruptno, void interrupt (far *__isr) (...)); : #else void interrupt (far * _CType getvect(int __interruptno)) (); void _CType setvect (int __interruptno, void interrupt (far *__isr) ()); : #endif In a function prototype: In C++ funcname() means that it takes no calling arguments. In C funcname() means the calling argument list has not yet been specified. Write the function you are to install as the ISR with an elipsis, with (...) .. Ed > Dmytro Bablinyuk wrote in message > news:401ae2cf$1@newsgroups.borland.com... > > I have an old DOS serial communication program which > I want to compile. > The program I told was designed under Borland C 3.1 and > therefore I am trying to compile it under Borland C 3.1. > During compilation I have a error for the line oldvect = > getvect(comp.intr): > Error: Cannot convert 'void (interrupt *)(...)' to 'void (interrupt*)()' > > The same problem for setvect. > I don't understand this. The help shows that everything should be > right - getvect takes one integer parameter. > What's wrong with that? > > Could somebody please help me with this, may be I am missing > something. .