Как исправить незаконное использование ошибки с плавающей запятой в С++

Я получаю несоответствие типов и незаконное использование ошибки с плавающей запятой в этой программе C++ в Turbo C++. Здесь я пытаюсь проиллюстрировать протокол GO BACK n ARQ, но я не понимаю, почему переменная ws связана с ошибкой.

#include<iostream.h>
#include<conio.h>
#include<math.h>

int ws,sf,ef,m; //Type mismatch error
int i,ack[50];
char ch;

void send(int sf){
for(i=sf;i<=(ws-1);i++){
 cout<<"\n\n\nFrame "<<i<<" got="" acknowledged?(y="" n)";="" cin="">>ch;
 if(ch=='y'){
 ack[i]=1;
 cout<<"Acknowledgement recieved for frame "<<i; }="" if(ch="='n'){" cout<<"acknowledgement="" not="" recieved="" for="" frame="" "<<i;="" ack[i]="0;" int="" check()="" {="" for(int="" k="0;k<=(ws-1);k++)" if(ack[k]="=0)" return="" 1;="" 0;="" main()="" m;="" cout<<"enter="" the="" size="" of="" data";="" cin="">>m;
ws=pow(2,m)-1; //illegal floating point error
sf=0;
ef=sf+ws-1;
send(0);
while(check())
{
for(i=0;i</i;></i<<"></math.h></conio.h></iostream.h>
<p> Я хочу использовать ws как глобальную переменную, которая используется в других функциях.</p>
1 ответ

вы столкнулись с именем: ws уже определен в iostream.h

licensed under cc by-sa 3.0 with attribution.