- 1 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:26:08 ]
- エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.40【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1184717430/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 372 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:43:32 ]
- >>370
hのアドレス=文字列の先頭のアドレス 代入は+1が行われたあとだろ? だからすでにアドレスが変わってる
- 373 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:45:27 ]
- >>370
q = "hoge"[1]; と static const char x[] = "hoge"; q = x[1]; は大体同じ。
- 374 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:59:29 ]
- >>372
すいません、勘違いしてました。 >>371,373 えっと自分が聞きたいのは、 char *q = "hoge"[1]; という文がなぜコンパイル出来るかってことなんです。 char q [] ="hoge"; char *p = "hoge"; はあきらかに違うのに char *q = "hoge"[1]; がコンパイル出来るとまるでこの二つが同じように錯覚してしまって 間違いの元になるんじゃないかって思ったんです。 んで、そういう事が出来るのはきっと何か理由があるに違いないと思ったんです。
- 375 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:05:40 ]
- 特に理由はない。
文法上問題がないから警告止まりでコンパイルされるだけ。
- 376 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:08:16 ]
- > char q [] ="hoge";
> char *p = "hoge"; > はあきらかに違うのに > char *q = "hoge"[1]; > がコンパイル出来るとまるでこの二つが同じように錯覚してしまって > 間違いの元になるんじゃないかって思ったんです。 なぜ二つが同じように錯覚するの?
- 377 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:27:30 ]
- >>375
ほんとだ。 char *x = "hoge"; p = x[1]; がコンパイル出来る。 x 0x85fd8 p 0x6f pのアドレスってどこから出てきたんだろう?
- 378 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:28:33 ]
- >>374
= の右辺に書かれた T 型の文字リテラルは T 型の static 配列と同じです = の右辺に書かれた T 型の配列は T 型の配列の先頭要素を指す「Tのポインタ型」になります 理由としてはっつーか便利だし〜みたいな?
- 379 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:31:29 ]
- >>377
'o' に決まってるだろう。
- 380 名前:デフォルトの名無しさん mailto:とか言ったらまた食い付いてくるかな?sage [2007/08/16(木) 09:36:05 ]
- >>377
m9(^Д^)プギャー
- 381 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:39:47 ]
- >>377
一応言っておくけど0x6fはアドレスじゃないよ 'o'に対応するアスキーコード c-production.com/special/03090704.html
- 382 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:00:58 ]
- qはそれ自身が配列であり、右辺の"hoge"はコンパイラに対する
初期化内容としてのみ解釈される。定数"hoge"は実行時には存在しない。 pの場合、実行時に定数"hoge"をメモリ上に用意して、そのポインタを利用する。 なので同じように見えても右辺の意味がまったく違う。 もともとqは以下のように記述すべきものだったんだろうけど、 char q[] = {'h', o'', g'', 'e', '\0'}; 不便なので、利便性のために char q[] = "hoge"; という書き方も受け入れるようになっただけ。 結果的にpとqの右辺が似ているけど、たまたま。
- 383 名前:デフォルトの名無しさん [2007/08/16(木) 10:07:36 ]
- *p = "hooge"
p[] = "hooge" は同じだろ
- 384 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:11:42 ]
- >>383
本気で言ってるのか
- 385 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:20:58 ]
- >>383
別物
- 386 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:44:01 ]
- >>383
どっちもセミコロンが無いからエラーになる→同じこと ってオチは無しだぞw
- 387 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:49:20 ]
- >>383
>>364未満だな
- 388 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:49:57 ]
- 型名もないしな
- 389 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:52:18 ]
- フフ
- 390 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 11:30:57 ]
- void foo() {
auto char *p = "hoge"; auto char p[] = "hoge"; … } とした時の挙動からして違うことは判るだろ
- 391 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 11:48:08 ]
- char p1[] = "hoge";
char *p2 = "hoge"; p1[1] = 'a'; p2[1] = 'a'; // <=
- 392 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:16:13 ]
- Perlの無名配列みたいに
{1000,100,10}[0] もいけたらいいのに
- 393 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:24:01 ]
- C99
#include <stdio.h> #include <string.h> int main() { printf("%d\n", (int[]){1,3,5,7,9}[1]); }
- 394 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:33:57 ]
- >>393
こんな事出来るんだ。 知らんかった。
- 395 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:49:24 ]
- >>393
うは、いけるんやwありがと
- 396 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 21:01:08 ]
- 配列として認識されるのか…すげー
- 397 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 21:45:24 ]
- これでC99準拠のコンパイラがもっと増えてくれれば
- 398 名前:768 mailto:sage [2007/08/16(木) 22:36:05 ]
- C99、便利だけどC言語としてみるとキモい・・・
- 399 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:38:18 ]
- C++と同期とって進化してくれれば歓迎なんだけどな。
- 400 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:57:51 ]
- C99準拠のコンパイラって少ないの?
GCCしか使ってないから知らんのだけど。
- 401 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:02:56 ]
- >>400
Comeau
- 402 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:06:00 ]
- 前使ってた Borland C++ 5.5.1 は C99 非準拠だったな.
- 403 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:06:01 ]
- ICC
- 404 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:20:10 ]
- VC++ のやつが無視しやがってるから広まらないのかな。
- 405 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:20:51 ]
- C99はDと同じ運命をたどればいいんだよ
- 406 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:22:13 ]
- VC++はC++コンパイラだからC99対応しないよ、ってMSの
中の人が言ったんだっけか。
- 407 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:29:51 ]
- 確かにVC++8.0で試すと凄い勢いでエラー出るな
- 408 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:35:47 ]
- まあ、C99 使うくらいなら C++ 使うってのは確かだが
- 409 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 00:35:35 ]
- 数式を画面に表示させるためのライブラリって無いでしょうか?
x^2みたいなのを、綺麗に表示するためのライブラリがほしいのです。 できれば、ソース公開している奴で、無ければソースは無くてもいいのですが とにかく、アプリに組み込んで開発できる奴がいいです。 ちなみに、開発環境はVC++2005、WinXPProを想定しています。 動作環境も同様にXPProです。 よろしくお願いします。
- 410 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 04:48:29 ]
- >>409
ググっただけなんで、中身はシラネ。 www.vector.co.jp/soft/win95/prog/se363439.html
- 411 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:26:10 ]
- ビット演算がうまくなるコツってないですかね?
全く使いこなせてないので、 他人のソース読んでて、使いこなせていると凄く羨ましいんですけれど。
- 412 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:27:47 ]
- 才能ないよ諦めた方がいい
- 413 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:37:52 ]
- コラー!
- 414 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:49:50 ]
- 自虐し過ぎ
- 415 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 06:14:34 ]
- >>411
グラフィックまわりをいじって変な画面効果とか作るのが楽しいかも 上達が見てわかるし
- 416 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 08:06:25 ]
- >>411
エンディアンと変数型のバイト幅を意識すること。 算術シフトと論理シフトを意識すること。 コツっていうとこんぐらい? フラグ的な使い方の話だったら、 必要になった時だけ使うのが良いんじゃないかなぁ。
- 417 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 08:08:28 ]
- >>411
論理演算、真理値表、2進数⇔16進数変換。 この辺のキーワードを調べ使いこなせるようになるとずっと違うと思うよ。 例えばこんなの。 a b c r 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 x 1 0 1 x 1 1 0 0 1 1 1 1 こいつからrを求める式を導き出せれば一歩前進。
- 418 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:16:08 ]
- 皆さんアドバイス有り難うございます。
ビット演算は大事ですからね。 精進します。 >>417 グヌヌ。 難しいぞ。分かんないっす。
- 419 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:22:07 ]
- プッ ヘボすぎ
- 420 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:29:14 ]
- ~(a^c)&b
こうですか?
- 421 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 10:04:58 ]
- タンクローリーを運転する人に見えたのは俺だけでいい。
- 422 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 11:18:41 ]
- int foo;
int bar; bar = (unsigned int)foo & 0x0fffffff; という事をしょっちゅうしているプログラムがあるんですけど、 どういう意図を持ってこの処理をしてるんでしょうか? 最初は、int型の変数をunsigned int型にキャストしてint型の変数に代入すると、 例えば-5が代入されてたら4294967291になるのかなぁと思ってたんですが、 そういう訳でもないみたいですし。
- 423 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 11:21:44 ]
- >>422
意図については、そのプログラムを書いた人に聞くのが一番! あと、もう少し基礎を勉強したほうが良いよ
- 424 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 20:27:31 ]
- 動的な配列を作る時は
int* a=(int*)malloc(sizeof(int)*10); if(a==NULL) みたいにしてポインタが有効かチェクしますよね? 二次元の配列を作る目的で int** b=(int*)malloc(sizeof(int*)*10); とやったら、この時も if(b==NULL) で、bが有効なポインタかどうか判断していいんですか?
- 425 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 20:31:19 ]
- はい
- 426 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 21:12:36 ]
- >>424
if(b==(void**)0)
- 427 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 22:36:27 ]
- >>424
#include<stdio.h> #include<stdlib.h> #define X_SIZE 15 #define Y_SIZE 10 int main(void){ int x, y; int **b; b=malloc(sizeof(int*)*Y_SIZE); if(b==NULL) exit(1); b[0]=malloc(sizeof(int)*X_SIZE*Y_SIZE); if(b[0]==NULL) exit(1); for(y=1;y<Y_SIZE;y++) b[y]=&b[0][y*X_SIZE]; for(y=0;y<Y_SIZE;y++) for(x=0;x<X_SIZE;x++) b[y][x]=y*X_SIZE+x; for(y=0;y<Y_SIZE;y++){ for(x=0;x<X_SIZE;x++) printf(" %3d", b[y][x]); printf("\n"); } free(b[0]); free(b); return 0; }
- 428 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 23:01:35 ]
- >>426
キャストしたらダメだろ。 意味変わる。
- 429 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 23:07:24 ]
- >>420
それでもいいけど、(b&~c)^aの方がシンプルだろう。
- 430 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 01:15:04 ]
- a^b&~c ってなところか。
>>411 最低限の論理学の勉強をする。 ド・モルガンの法則とかは必須。
- 431 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 07:42:18 ]
- #define NULL (void*)0
だから ポインタへのポインタが"NULL"かどうかは (void**)0で調べないといけない
- 432 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 08:20:03 ]
- >#define NULL (void*)0
>だから いいえ。
- 433 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 10:12:01 ]
- 世界中のC言語を使える人のコンピューターに対する理解度の高さの平均と、
世界中のJavaを使える人のコンピューターに対する理解度の高さの平均は、 どっちが高いですか?
- 434 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 10:16:53 ]
- マルチ死ね
- 435 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 10:18:08 ]
- >>433
スレ違い
- 436 名前:DEFORTの名無し [2007/08/18(土) 13:41:52 ]
- ひさしぶりぶり
MinGWつかってみたけど微妙
- 437 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 13:47:02 ]
- またお前か
- 438 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 14:28:50 ]
- >>422
0x0fffffff でマスクってことは、下位28ビットが欲しいってだけじゃね。 あと、unsigned int へのキャストは無駄だな。
- 439 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 15:32:58 ]
- >>431
どこからそんなデマを仕入れてきた?
- 440 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 16:02:21 ]
- 脳内
- 441 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 16:06:10 ]
- 新聞
- 442 名前:デフォルトの名無しさん [2007/08/18(土) 20:10:13 ]
- ある特定のウィンドウがアクティブになった時に、そのウィンドウのメニュー内の
特定のコマンドを実行するようにしたいのですが、どのよう記述したら良いでしょうか? 具体的にはXSIとゆう3DCGソフトの「アニメーションエディタ/編集/オリジナルコマンド」 を自動実行させたいのですが、、、 宜しくお願いします。
- 443 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 20:13:48 ]
- C/C++じゃなくてスクリプトで書けば?
- 444 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 20:16:44 ]
- C/C++の勉強すれば分かるよ
- 445 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 00:24:05 ]
- WSHとかの領域になるんかな?あっちの詳細を全部知ってるわけではないけれども
- 446 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 00:43:34 ]
- new int[n]; ← このnのところは、何の型で渡すのか決められてますか?
intとかlongとか(負数はあり得ないので、unsignedでしょうか) あと、Windowsの32ビット環境では、intとlongはまったく同じ型として扱っても問題ないですか?
- 447 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 00:45:47 ]
- >>442
ウィンドウメニュー内の特定のメニュー項目が選択されたときって、 たぶん、WM_COMMANDとかのウィンドウメッセージが飛ぶと思うんだけど、 その具体的なパラメタを調べて、アクティブとかのイベント関係なく 直接呼んじゃだめなの? もし、アクティブになると同時って条件をつけたいなら、 1)ウィンドウをアクティブにする 2)ウィンドウメッセージを送信する っていうだけの簡単なプログラムを作るとか。
- 448 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:13:18 ]
- >>446
特定の型には決まっていない。整数ならいい。 負の数になったら未定義動作。 int と long は違う型です。
- 449 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:30:05 ]
- music8.2ch.net/test/read.cgi/musicjf/1187412818/72
おもしろいIDでた
- 450 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:32:34 ]
- わざわざ他板のを持ってこなくてもいいんだよ
- 451 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:34:41 ]
- >>448,446
>特定の型には決まっていない。整数ならいい。 C++の言語仕様の詳細は知らないけど、VCならsize_tでいいんじゃね msdn2.microsoft.com/en-us/library/t48aek43(VS.80).aspx msdn2.microsoft.com/en-us/library/ms859258.aspx >int と long は違う型です。 これもVC(x86)の範囲内で同じようにつかえるかって質問なら、問題ないと思うけど msdn2.microsoft.com/en-us/library/ms859270.aspx
- 452 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:36:23 ]
- >>450
この板ID無いが。
- 453 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:57:33 ]
- >>451
operator new 関数の第1引数は VC に限らず size_t 。 でもそれと new 式の配列要素数を表す式の型とは別。 サイズが同じだろうがなんだろうが int と long は違う型。 まったく同じ型として扱うのには問題がある。
- 454 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:13:14 ]
- >>453
ごめん、1点分からないので、教えていただきたい。 とりあえず、>>446はVCの利用上(実装上)の制限が知りたいんじゃないの、 と思ったので、その観点だけで書いたのは自分の思い込みで、それで意見が すれ違うのは仕方ないんだけど、 >特定の型には決まっていない。整数ならいい。 >でもそれと new 式の配列要素数を表す式の型とは別。 の箇所。 そうはいっても、ソースをコンパイルしてバイナリに落とす以上、コンパイラ定義かも しれないけど、具体的な値の有効範囲ってかならずあるんじゃないの? 実際、MSDNの配列定義のサイズ指定の箇所では 0以上の整数型、ただしMicrosoft仕様では... としてsize_tに言及してるわけだし。 それにoperator new 関数の第1引数がsize_tに決まってるなら、size_t以上の値を 記述して受け入れてくれるコンパイラがありそうにないので、 その意味でも「整数ならいい」ってのはあいまいな感じがする。 なので、「整数ならいい」ってのは純粋に言語仕様の話として語っているのか、 それとも、コンパイラの実装やソース記述上の制限を語る場合でも同じ回答 になるのか、気になって眠れなくなりそうなんで、正確なところが知りたいんだけど。
- 455 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:20:37 ]
-
________ / | /__ | / /. |-―‐. / \ / | / ./ | ノ ヽ__」 | .―┼‐フ |/ /|/ ̄ ̄ ̄\ //| | | | | (二X
- 456 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:39:56 ]
- >>454
現行の規格ではだいたい >>453 みたいなことしか言えない。ある意味 これが正確なところ。 new とは別に、各処理系が定めるべきいろいろな数値の上限の中に 「オブジェクトのサイズ」というのがある。配列オブジェクトもこの制限を うけるので、値の範囲はこれに基づくとも言える。これについて規格が 最低限のガイドラインとして提示しているのは 262144 。 まだ規格化はされてないけどこんな話もある。 www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#624
- 457 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 04:45:36 ]
- ありがとう、これで寝られる。
仕様自身は結局釈然としない部分があるけど、 >>448,453の回答が正確で誠実な回答というのは理解できた。 リンク先は策定中の次期規格? また、膨大な項目が... 現状でさえ、もうついていけないくらいややこしいのに。
- 458 名前:デフォルトの名無しさん [2007/08/19(日) 12:35:03 ]
- #include "DxLib.h"
int WINAPI Winmain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) } ChangeWindowMode(TRUE); if(DxLib_Init()==-1)return(-1); DrawBox(0, 0, 120, 65535, TRUE); WaitKey(); DxLib_End(); return(0); } というプログラム書くとエラー出るのはなぜでしょうか?ちなみに 14さいからはじめるリアルに動くゲーム物理プログラミング教室C言語編 という本に載ってます。
- 459 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:38:39 ]
- エラーの内容かけ。
- 460 名前:458 [2007/08/19(日) 12:40:14 ]
- エラー E2141 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 4: 宣言の構文エラー
エラー E2190 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 4: 不要な } エラー E2190 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 4: 不要な } エラー E2303 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 5: 型名が必要 エラー E2356 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 5: 'ChangeWindowMode(int)' の再宣言で型が一致していない エラー E2344 C:\Users\shiro\Desktop\MyC\プロジェクトに追加すべきファイル_BCC用\DxLib\DxLib.h 1017: 一つ前の 'ChangeWindowMode(int)' の定義位置 エラー E2063 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 5: 不正な初期化 エラー E2293 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 5: ) が必要 エラー E2040 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 6: 宣言が正しく終了していない エラー E2303 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 7: 型名が必要 エラー E2356 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 7: 'DrawBox(int,int,int,int,int,int)' の再宣言で型が一致していない エラー E2344 C:\Users\shiro\Desktop\MyC\プロジェクトに追加すべきファイル_BCC用\DxLib\DxLib.h 1519: 一つ前の 'DrawBox(int,int,int,int,int,int)' の定義位置 エラー E2063 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 7: 不正な初期化 エラー E2293 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 7: ) が必要 エラー E2040 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 11: 宣言が正しく終了していない エラー E2190 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 12: 不要な } *** 16 errors in Compile *** ** error 1 ** deleting Debug\dxtest.obj です。 ちなみに今日勉強したばかりでさぱりとわかりません
- 461 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:41:46 ]
- 勉強してないからエラーが出る
- 462 名前:デフォルトの名無しさん [2007/08/19(日) 12:42:05 ]
- どんなエラーがでてるの?
- 463 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:42:21 ]
- 最初に4行目にエラーが出ているだろう。
4行目を穴があくまでじっくり見ろ、その教科書とひたすら比較しろ。 それでわからなかったらもっかいおいで。
- 464 名前:デフォルトの名無しさん [2007/08/19(日) 12:45:46 ]
- 彼はエラーの見方がわからないと思う
- 465 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:46:33 ]
- #include "DxLib.h"
int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) { ChangeWindowMode(TRUE); if(DxLib_Init()==-1)return(-1); DrawBox(0, 0, 0, 120, 65535, TRUE); WaitKey(); DxLib_End(); return(0); }
- 466 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:49:38 ]
- ChangeWindowMode(1);
こっちのがいいかも分からんね
- 467 名前:458 [2007/08/19(日) 13:11:31 ]
- >>465のように書いてみましたが
まだ Fatal: ファイル VORBISFILE_STATIC.LIB が開けません と出ます。 >>464 まったくおっしゃるとおりです
- 468 名前:デフォルトの名無しさん [2007/08/19(日) 13:59:36 ]
- >>467
エラーの通りvorbisfile_static.libってファイルが見つからないんだろ。 あとは環境が分からないと何も言えないと思う。 自分の開発環境を検索ワードに入れて、 (「vorbisfile_static.lib VC++」とか「vorbisfile_static.lib BCC」とか) その辺でググって見たらどうよ?
- 469 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 15:14:22 ]
- というか似たような質問を、DxLibのサイトで何度も見た気がするんだ。
- 470 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 15:55:17 ]
- vorbisfile_static.libはDxLibのアーカイブに同梱されてるから
それをソースと同じディレクトリにコピー というか「このフォルダのファイルを全てコピー」みたいなフォルダなかったか?
- 471 名前:230 [2007/08/19(日) 23:24:29 ]
- GNU Compiler Collectionのg++コンパイラで
-std=c++98というコンパイラオプションというのがあるらしいのですが ぐぐってもよく分かりませんでした。 誰か教えてください。
- 472 名前:471 [2007/08/19(日) 23:25:32 ]
- 230というのははミスです。すみません(汗
|

|