★初心者にVisual C++を教えるスレ★ Part10

このエントリーをはてなブックマークに追加
>>948
わけわからん。
正規版じゃないとウィルスしか作れません
>>953
それはある意味スゴイ
朝暇だから、携帯からC++勉強できるとこってない?
>>955
そんなサイトがあるのかどうかは知らないが、
....本でも読んでりゃ良いじゃねーか
本で勉強するという感覚のないのが最近ちょっと多いね
958955:04/02/28 08:59
電車だから、今日みたいな休日は空いてるから本でもいいんだけど、
平日は満員で本なんか読めないんだよ。
>>958
PDA使えば?
>>958
そんな満員の状態だと携帯も見れんと思うが?
好きなサイト、コピペして
携帯にメールでも送っとけ
962958:04/02/28 12:41
>>959
何それ。

>>960
C++の本はでかいだろ。

>>961
今度猫のやつをコピーしてみる。
なんとなく >>958 の人物像を想定できる俺はスーパーハカー
>>962
釣り?
一応マジレスしておくと、NotePCと携帯電話の中間程度の大きさと使い勝手の情報端末。
ここでも見れば見当つくだろ。
http://pc3.2ch.net/test/read.cgi/mobile/1077028872/
965958:04/02/28 14:06
>>962
高い。
やっぱPCからメールで送るのが一番良さそうだな。
>>962
>C++の本はでかいだろ。
お前には俺の言わんとすることが理解出来んようだな。
屑だな。
>>955
印刷しとけ
紙1枚ぐらいなら邪魔にならないし紛失しても問題ないだろ
Visual C++って、どこがvisualなんですか?
Windowが
>>968
できあがったものがvisualっぽい
971958:04/02/28 15:39
>>966
お前が屑。

>>967
それだ。
紙なら折ったりできるしな。
なんかすげー頭悪そう
958は莫迦。
そういう性格じゃプログラムなんか止めとけ。
工房か?
>>971
>966は密着状態で携帯電話を使用するなと言いたいわけだ。
そんなことも判らないお前はプログラマにはなれても上流工程には一生近づけないよ。
さて、頭の悪い人はほっといてそろそろ新スレですね
おれのは

  !?

でかいぜよ?
978デフォルトの名無しさん :04/02/29 01:18
case WM_PAINT:
{
HDC hDC;
PAINTSTRUCT ps;
LPCSTR str = "test";
hDC = BeginPaint(hWnd, &ps);
SetTextColor(hDC, RGB( 0, 0, 255));
SetBkMode(hDC, TRANSPARENT);
TextOut(hDC, 100,100, str, lstrlen(str));
EndPaint(hWnd, &ps);
}
return 0L;

↑はウィンドウプロシジャ内のメッセージのケース文なんですが、
この「中カッコ」を外すとコンパイルできないのはなぜですか?
「strの初期化がcaseラベルによって行われませんでした」
というエラーがでて、次のcase文のところで引っかかってるみたいです。。。
>>978
caseラベルの中で変数の宣言はできまへん。
switchをC++で使うときのマンドクサイところ。
本当は出来ないけど中カッコでcase内全部囲っとけばできるってことなんですかね。
謎な仕様ですね。。。

助かりました。ありがとうございます。
>>980
{ } で囲むと、変数の生存範囲が
{ } の中に限られるので、大丈夫なんでしょう。
こういうスタイルが適切かどうかは分からない。
普段はMFC使ってるから。
VC.Net だとこんなコードも通ってしまう分けなんだが。。。

switch (int a = 1)
{
case 1:
  int b = 2;
}
983978:04/02/29 01:58
なるほどそういうことですか。
そういうもんだと覚えとくことにします。
ありがとうございました。
C++ の言語仕様だと変数の書ける所だと殆どの所で変数定義も出来るらしい。
そんな事を厨にやられた日にゃ。(ry
>>983
次のようなコードだと n = 2 のときに
宣言無しで a が使われちゃうから
問題なんでしょう。

switch ( n )
{
case 1:
int a = 0;
cout << a;
case 2:
a++;
cout << a;
}

>>985
error C2360: 'a' の初期化が 'case' ラベルによって行われませんでした。
>978
ちゃんとエラーメッセージを読め。読みとれ。理解しようとしろ。
>「strの初期化がcaseラベルによって行われませんでした」

別のcaseラベルを通ったときでも、そこより下の位置なら、
strを参照することができてしまうが、初期化部分を通らないから初期化できない。

>982
その初期化式の下に一つでもcaseを作れば、直ちにエラーになる。


って、もう書かれたか。
ええぃ埋めついでに書き込んでやる。
switch (foo) {
int bar;
case 0:
{
int bar = foo;
}
break;
default:
bar = foo;
break;
}
/* 実はcで問題ないコード。 */
★初心者にVisual C++を教えるスレ★ Part11
http://pc2.2ch.net/test/read.cgi/tech/1077965179/l50
>変数の書ける所だと殆どの所で変数定義も出来るらしい。
これってC++じゃなくても最新のISO Cでは出来るようになったとか
噂を聞いたんですが、本当ですか?
int i( int j( A ? B : C ), j += 10 );
>>991
そういうことはできてもしないだろ
993デフォルトの名無しさん:04/02/29 17:57
記念カキコ v(^-^=)
埋め立て
>988
switch()の外でbar使いたいんですけど...
>990 Yes.
997
998
999
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。