'void (__cdecl *)()' はパラメ-タ リストが異なることを解消するには?

解決


はんにゃ  2011-01-25 16:33:58  No: 72243

関連ソースは
void drawing3()

  cpack(0x00ffffff); clear();
     
  pixelpara();
  lentipara();

  /* kido bun pu  rds>0  hiekin kankaku * 6 wo  lp de normal suru,
  heikou kousein de 1.0  saisyou soreyori hirogaru ookina atai
  rds<0  no tokiha syoueten heikinnkankaku 0 ga saisyou    warukunaru to  >0 to naru
  */ 
   
    /* set graph area with window axis in ortho2(0.0,1600.0, 0.0,1000.0) */
  w_view(20.0, 50.0, 1580.0, 990.0); /* leftlower,x1,y1, rightupper,x2,y2 */
        w_axis(xmin, ymin, xmax, ymax);/*set graph axis onto w_view(), x1right, y1lower, x2left, y2upper*/

          /* printf(" disp.pos.number(pass=9)? "); scanf("%d",&mn);*/
          /* printf(" sidelobe number(pass=9)? "); scanf("%d",&sn);*/
    /* light ray to lenti */
   kousen(0,0);
  if(revsl==0 || revsl==2)/*if(rds>0.0)*/{  
    kousen(256,0); kousen(-256,0);
    kousen(0, -1); kousen(256,-1); kousen(-256,-1);
    kousen(0,  1); kousen(256, 1); kousen(-256, 1);
  }
  else if(revsl==1)/*if(rds<0.0)*/{ 
    kousen(1, -1); kousen(-1,1);
  }
  kou_lenti(256,0); /* drawing lens profile*/ 

         /* menoichi(at rds>0) or focusing-position of the lens(rds<0) */
  if(revsl==0 || revsl==2)/*if(rds>0.0)*/menoichi(); 
  else if(revsl==1)/*if(rds<0.0)*/ focusptn();

  figdrw();
        swapbuffers();
}

 void main()
{
  printf("lenticular Simulation Direct/Project ver.3cNew 2010/1997 S.Nagata\n"); 
  initialize(); /* for  sgi window */
  initvalue(0); /* in setthick(0)   */
  drawing3();
 
  glutDisplayFunc(drawing3);
//  glutIdleFunc(MainLoop); /* 2011 これをとってもBuildはする  表示もする*/
  glutAttachMenu(GLUT_RIGHT_BUTTON);
  glutMainLoop();
}
ここまで

       glutDisplayFunc(drawing3);において  
D:\lend3cNew.c(1099) : warning C4113: 'void (__cdecl *)()' はパラメ-タ リストが 'void (__cdecl *)(void )' と異なります。

お礼書き込み時  [解決]チェックはどこにあるのでしょうか?
この画面内でしょか?


仲澤@失業者  2011-01-26 02:34:30  No: 72244

void drawing3()
{  ・・・  }

void drawing3(void)
{  ・・・  }
に、してみたらどうでしょう。

>お礼書き込み時  [解決]チェックはどこにあるのでしょうか?
このページを表示しているときにブラウザの検索([ctrl]+'F'押下)
を起動して「解決時は質問者本人がここをチェックしてください」
を検索してみてください(笑)。


はんにゃ  2011-01-26 03:02:59  No: 72245

ありがとうございました。
なるほど  警告はでず  悪さもありませんでした
現在  他に警告はないのですが
void main(){

void resersal(){ 
なども  念のために〜(void) としておいた方が無難でしょうか?


はんにゃ  2011-01-26 03:09:52  No: 72246

そのように
void〜(){ }
のサブルーチン
はvoid〜(void){ }
としました
コンパイル  実行とも特段問題は無いようです
もし  注意すべきことがあればおしえてください
一応解決にしました


gak  2011-01-26 03:12:41  No: 72247

> なども  念のために〜(void) としておいた方が無難でしょうか?
ソース的には無難といえば無難かも。

> D:\lend3cNew.c
> void drawing3()
c++ では引数の指定が無い場合、void が指定された時と同様に扱われる。
c では引数の指定が無い場合、可変引数を受け取る関数と扱われる(可変引数は 0 個も可能なので、0 個時は void 指定時と動作としては変わんない)

c と c++ でちょっと違うんだよね。


はんにゃ  2011-01-26 16:22:25  No: 72248

詳しい説明ありがとうございます
今後もよろしく  おねがいします


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加