• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ゲームプログラミング C++ エラーについて)

ゲームプログラミングC++エラーについて

D-Matsuの回答

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

エラーメッセージはこれ以上ないくらいに明快ですけど。 > E2193呼び出し時のパラメータが足りない:AnimDraw::setGap(int,int)(関数 setGapはint型引数を「二つ」取るプロトタイプなのに対して、 > tamaanim.setGap(8); //ここにエラーが出ています エラー行ではint型引数を「一つ」しか渡してません。

aruyana
質問者

お礼

お早い回答ありがとうございます しかし参考にしている本にはtamaanim.setGap(8); までしか書かれていないのです いったい何と書けばint型引数を二つ渡せるのでしょうか(汗

関連するQ&A

  • C言語プログラミングについて

    #include <stdio.h> int main(void) { printf("hello,world\n"); } □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ #include <stdio.h> int main(void) { printf("hello"); printf(",world"); printf("\n"); } 上の2つのプログラムをコンパイルするとどのような違いが生じるんですか??printfってどんな働きをするんですか?

  • C言語でのRS232Cとの通信

    今後,電動ステージをRS232Cを持つコントローラとVisual studio2008で動かすことになったのですが, プログラム初心者のため,動かし方がわかりません. 一応,いくつかのサイトで調べた方法を試したのですが,動かすことができませんでした. 下に現在のプログラムソースを張ってあります. また,コントローラの諸元は, ボーレート:9600 データ長:8ビット ストップビット:1ビット パリティ:なし です. 皆さんのアドバイスを頂けたら,幸いです. また,このような質問は初めてなので,どういった情報がわかれば尚良いかを教えて頂けると幸いです. [プログラムソース] #include <stdio.h> #include <windows.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <time.h> #define CR 0x0d #define LF 0x0a HANDLE hCom; void init(char *com, int baudrate); void m_move(double pos); int main() { double pos; init("COM1", 9600); printf("移動量 = ");scanf("%lf", &pos); m_move(pos); CloseHandle(hCom); } void init(char *com, int baudrate) { DCB dcb; hCom = CreateFile("COM1", GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); GetCommState(hCom, &dcb); dcb.BaudRate = baudrate; dcb.ByteSize = 8; dcb.Parity = NOPARITY; dcb.StopBits = ONESTOPBIT; SetCommState(hCom, &dcb); } void m_move(double pos) { int Send_Res, SendLen; char Send_Buf[4000]; char cmd[256]; DWORD wbyte; sprintf(cmd, "LMA ,,%.2lf", pos); //LMA はステージを動かすコマンド printf("%s", cmd); strcpy(Send_Buf, cmd); SendLen = strlen(Send_Buf); Send_Buf[SendLen] = CR; Send_Buf[SendLen + 1] = LF; Send_Res = WriteFile(hCom, Send_Buf, SendLen+2, &wbyte, NULL); fflush(stdout); Sleep(100); }

  • エラー C言語 プログラミングについて

    #include<stdio.h> int leapYear(int); int main(void){ int year,i; for(i=2001;i=2999;i++){ year=i; printf("%d leap = %d \n",i,leapYear(int year)); return 0; } } int leapYear(int year){ if(year%100==0){ return 0; } else if(year%400==0){ return 1; } else if(year%4==0 && year%100!=0){ return 1; } } をコンパイルすると11行目に式の構文エラーが出るんですが どうしてでしょうか?? 間違ってない気がするんですけど。。

  • c言語のプログラミングについて教えてください!

    コネクション型Soket通信のプログラミングについて教えてください。 空欄と打ってるところを教えてほしいです。かなり急ぎです! #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #include <stdio.h> #include <fcntl.h> #include <stdlib.h> #include <strings.h> #define PORT_NO 8001 void cliepro(int); /*メインルーチン(クライアント)*/ main(int argc, char **argv) { int sofd; /* ソケット記述子*/ struct hostent *shost; /* hostent構造体*/ struct sockaddr_in sv_addr; /* sockaddr_in構造体 */ /*ソケットの作成(TCP) 空欄 空欄 空欄 */ /*サーバのアドレスを取得 空欄 空欄 空欄 */ /*サーバのアドレスを設定*/ bzero((void *)&sv_addr,sizeof(sv_addr)); sv_addr.sin_family = AF_INET; sv_addr.sin_port = htons(PORT_NO); memcpy((void *)&sv_addr.sin_addr,(void *)shost->h_addr,shost->h_length); /*ソケットの接続要求 空欄 空欄 空欄 */ cliepro(sofd); close(sofd); exit(0); } /*処理ルーチン(クライアント)*/ void cliepro(int sofd) { int cc,nbyte, MAXRMSG; char smsg[100], rmsg[100]; MAXRMSG=sizeof(rmsg); bzero(rmsg, MAXRMSG); while(1){ printf("Enter string :"); fgets(smsg, sizeof(smsg), stdin); if(feof(stdin)) break; nbyte=strlen(smsg); if (send(sofd, smsg, nbyte, 0) < 0) { perror("send"); } else { cc=recv(sofd,rmsg,MAXRMSG,0); if(cc<0) perror("recv"); else { printf("%s",rmsg); bzero(rmsg,MAXRMSG); } } } }

  • プログラミング

    C++で、五個の配列を確保し、それらを関数を使って逆順にしたいのですが、別の配列にコピーして逆順にしたいです。下記のプログラムを作ったのですが、どこがいけないのでしょうか? #include "stdafx.h" #include <stdio.h> void reverse (int z[],int w[]); int main(void) { int p[5]={1,2,3,4,5},u[5]; reverse(p,u); printf("逆順=%d\n",p); return 0; } void reverse(int z[],int w[]) { int i; for(i=0;i<=5;i++){ w[i]=z[i-1]; } }

  • cプログラミングについて

    以下はsample.txtというファイルを読み込み、辞書順に並べるプログラミングですが、どう正しく 直したらよいかわかりません。間違っている場所を指摘していただけたらと思います。 (間違えだらけで申し訳ありません) #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXLINE 500 void mysort(char *word[MAXLINE]) { int i,j; char *tmp; for(i=0;;i++){ for(j=i+1;; j++){ if(strcmp(word[j],word[i])==1){ tmp=word[i]; word[i]=word[j]; word[j]=tmp; } } } } int main(void) { int i; FILE *fp; char str[MAXLINE]; fp= fopen("sample.txt", "r"); if (fp == NULL) { printf("fopen error\n"); exit(1); } while(( fgets( str, MAXLINE, fp )) != NULL) mysort(str); for(i=0;; i++) printf("%s\n", str[i]); return 0; }

  • C++のファイル分割でのエラーについて

    最近VC2008でC++の勉強を始めたのですが、ファイル分割でLNK2005エラーというのが発生し、解消できません。 インクルードガードは行ったのですが、どうしたらよいのか分かりません。 ソースコードはこんな感じです。 //main.cpp #include "sub.h" #include "res.h" bool main(){ calcx(m_x); calcy(m_y); } //res.h 共有変数の宣言 #ifndef __RES_H #define __RES_H int m_x; int m_y; #endif //sub.h 関数のプロトタイプ宣言を行う void calcx(); void calcy(); //sub.cpp 関数の定義を記述する #include "res.h" void calcx(int x){ m_x = x + 100; } void calcy(int y){ m_y = y + 200; } エラー: 1>Main.obj : error LNK2005: "int m_x" (?m_x@@3HA) は既に sub.obj で定義されています。 1>Main.obj : error LNK2005: "int m_y" (?m_y@@3HA) は既に sub.obj で定義されています。 上記のようなエラーを解消するにはどうしたら良いのでしょうか。 何がおかしいのか指摘をお願いします。

  • ゲームプログラミングについて

    ファイル分割について。(長文失礼) scene.hファイル #include "Dxlib.h" #define EXTERN #else #define EXTERN extern #endif extern void Opening(); extern void Menu(); extern void Danjon(); extern void attack(); extern void Ending(); EXTERN int apple;// 画像を入れる変数 EXTERN int TITLE_CG; EXTERN char KeyBuf[256];// キーが押されてる状態を入れる文字配列 EXTERN int Key[256]; // キーが押されているフレーム数を格納する EXTERN int x=320, y=240; EXTERN int function_status=0,White; scene.cppファイル #include "scene.h" void Opening(){ } void Menu(){ DrawString(100,140,"メニュー画面 (xをプッシュ)",White); if(KeyBuf[KEY_INPUT_X]==1) function_status=2; } void Danjon(){ DrawString(100,180,"ダンジョン画面 (cをプッシュ)",White); if(KeyBuf[KEY_INPUT_C]==1) function_status=3; } void attack(){ DrawString(100,220,"戦闘画面 (vをプッシュ)",White); if(KeyBuf[KEY_INPUT_V]==1) function_status=4; } void Ending(){ DrawString(100,260,"エンディング画面 (bをプッシュ)",White); if(KeyBuf[KEY_INPUT_B]==1) function_status=5; } main.cppファイル #define _SCENE_H_ #include "scene.h" 以下(長くなるので)一部抜粋の形をとりました void gpCalc() {     if( Key[ KEY_INPUT_RIGHT ] >= 1 ){ x += 5 ;     }     if( Key[ KEY_INPUT_DOWN ] >= 1 ){ y += 5;     }     if( Key[ KEY_INPUT_LEFT ] >= 1 ){ x -= 5;     }     if( Key[ KEY_INPUT_UP ] >= 1 ){ y -= 5;     } } switch(function_status) { case 0: Opening();    DrawRotaGraph( x, y, 1.0, 0.0, TITLE_CG, TRUE );    break;    case 1:    Menu();    DrawRotaGraph( x, y, 1.0, 0.0, apple, TRUE );    break;    case 2:    Danjon();    break;    case 3:    attack();    break;    case 4:    Ending();    break;    default: return 0;    break; } int x,y,function_statusが何かこの文章ではわかりにくいとは思いますが、なにとぞご勘弁を。 これでF5を押すと、int x,y,function_statusの三つが既にmain.objで定義されているといわれ、エラーが出てしまいます。(念のため、一つのファイルにまとめたものは実行確認済みです) ヘッダーファイルの書き方に問題があるのでしょうか?それとも、mainで余計なことをしてしまっているのでしょうか。 どなたか教えていただけないでしょうか。 もし必要であればmainのソースもすべて開示したいと思っています。 (おそらく書ききれると思います)

  • c言語について

    #inculude<windows.h> #inculude<stdio.h> #inculude<conio.h> #inculude"Fbippi.h" int move(void) int left(void) return0 この7行の行ごとの意味を教えてください

  • プログラミング C++

    プログラミングのC言語で入力文字を関数を使ってポインタを使わずに逆順にするプログラムを作りたいのですが、ポインタを使ってならできるのですが、ポインタを使わずにはどのように考えればいいでしょうか?。 #include <string.h> void reverse (char *ss); int main(void) { char ss[14]; gets(ss); reverse(ss); printf("逆順=%s\n",ss); return 0; } void reverse(char *ss) { int a,b,c; b=0; c=strlen(ss)-1; while(b<c){ a=*(ss+b); *(ss+b)=*(ss+c); *(ss+c)=a; b++; c--; } }