来自上个世纪的问题::在BC3.1中如何设置键盘中断;//++99(100分)

  • 主题发起人 主题发起人 emtf
  • 开始时间 开始时间
E

emtf

Unregistered / Unconfirmed
GUEST, unregistred user!
见笑!问个古老而天真的问题,望那位DOS下的高手赐教.
在BC3.1下,用getverct,setverct函数设置键盘中断程序,在C方式下能通过,但在C++方式
下提示如下:
Cannot convert 'void (interrupt far*)(...)' to 'void (interrupt far*)()'
何故?如何解决?
佰分恭侯!
 
强制类型转换就行
 
强制类型转换已解决了getvect函数的问题,但setvect函数的问题尚未解决。
再烦兄台
部分源码如下:
void interrupt far(*OldInt)();
void far interrupt NewInt()
{
...
}
void main()
{
OldInt=(void (interrupt far*)())getvect(N);
setvect(N,(???)NewInt);
}
编译提示:
Cannot convert 'void (interrupt *)()' to 'void (interrupt far*)(...)'
Type mismatch in parameter '__isr' in call to 'setvect(int,void (interrupt far*)(...))'
望兄台赐教(???)中该如何定义。
 
接受答案了.
 
这几天收不到邮件 :(
setvect(N,(void (interrupt far*)(...))NewInt);
这样行不行?
 
后退
顶部