トップページ⇒tech
1001コメント289KB

【初心者歓迎】C/C++室 Ver.26【環境依存OK】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/03/29(水) 11:59:26
エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。
※sageは禁止です。
【前スレ】
【初心者歓迎】C/C++室 Ver.25【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1140963340/l50
【アップローダー】(質問が長い時はココ使うと便利)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
0153デフォルトの名無しさん2006/04/03(月) 09:16:39
>>152
ぶっちゃけどちらも{0}でいいんじゃ・・・
015449(ncursesで日本語表示)2006/04/03(月) 10:40:11
Windows Service for Unix3.5 使うと日本語表示できました
0155デフォルトの名無しさん2006/04/03(月) 14:00:53
初心者から中級者を目指す為に勉強していますが、
わからないことがありますので教えてください。

strcpy(stackinfo, phost->h_name) ; の

  ->  とゆう表記はなんでしょうか?
 
代入?変数?よくわかりません。よくプロの人が
使う技なんでしょうか?
ちなみに初心者の書籍には一切書かれて無かったので、
中級以上の方が使うものだと思われます。
わかる方、よろしくお願いします。
0156デフォルトの名無しさん2006/04/03(月) 14:03:22
>>155
アロー演算子でググレ
0157デフォルトの名無しさん2006/04/03(月) 14:03:38
今時の初級者用の参考書はポインタも解説してらっしゃらないんですか?
0158デフォルトの名無しさん2006/04/03(月) 14:04:15
>>156
ありがとうございます。早速しらべてみます。
0159デフォルトの名無しさん2006/04/03(月) 14:05:11
>>155
なんという書籍なのか非常に気になる。

ポインタを解説しないCの書籍なんてあるのだろうか。
0160デフォルトの名無しさん2006/04/03(月) 14:26:11
どうせうすっぺらな知識しかない作者が書いたいまどきの書籍なのでしょう。
0161質問2006/04/03(月) 15:23:44
質問なんですが、
C言語の質問ではないのですが適切なスレがどこなのかわからないのでここに書いてみました。
Q1.Visual Studio 2003でC++でダイアログプログラムを記述しているのですが
メインダイアログを表示するのにリソースビューからたどって何度かクリックしないといけないのですが、簡単に表示させることはできますか?
Q2.ダイアログでプログラム作成時に常にグリッド表示にしたいのですが、「グリッド」に設定して保存しても、サイドプロジェクトを開くと「ガイドの設定」が「ルーラーとガイド」に戻って
しまいます。ガイドの設定をグリッドに固定することは可能でしょうか?
よろしくお願いします。
0162デフォルトの名無しさん2006/04/03(月) 15:51:44
A1.できません。プロジェクトを閉じるとだめだけど、開きっぱなしでいいなら代わりにダイアログエディタのビューを閉じないでタブ切り替えで我慢するとか。
A2.しりません。やってみたけどできないね。
0163質問の母2006/04/03(月) 16:13:36
>162 さん。よくわかりました。つまりできなそうですね。他の方でできるという人がいたら情報お願いします。
0164デフォルトの名無しさん2006/04/03(月) 16:22:10
C++からプログラミングを始めたいと思って今、これならわかるC++ っていう本を読んで
CUI環境でのC++プログラム(と言えない程の物)をちょろちょろ作ってるんですけど、
皆さんは初めてプログラミングを始めようと思ったときどんな事から始めましたか?どんな本を読みましたか?どんな学校でどんな事から学びましたか?
教えていただけるとうれしいす。


初心者歓迎ってこういう事じゃなかったりスレ違いだったりした場合誘導お願いします∧||∧
0165ヒッキー☆2006/04/03(月) 16:56:17
つhttp://hp25.0zero.jp/473/BzLIVEGYM/
↑このHPの日記にて
「暇だよなネラー爆笑
 見ててウケるしワラ〜
 自分を相手への中傷でしか表現できなぃ(笑)
 頑張ろうね
 なんか能力低いっつうか人として低いなって思う(笑)」

↑ようするに
ニートだけならまだしもPCやってる全ての人間を馬鹿にしてるんですよ

あなたは許せますか??
0166デフォルトの名無しさん2006/04/03(月) 17:02:33
実話じゃん
0167デフォルトの名無しさん2006/04/03(月) 17:17:11
>>165
>ニートだけならまだしもPCやってる全ての人間を馬鹿にしてるんですよ
その内容からそういう判断をするお前が人を馬鹿にしているんだよ。
若しくは、お前自身が馬鹿。
0168デフォルトの名無しさん2006/04/03(月) 18:43:46
>>164
マ板向きの内容だと思うのでここらへんでどうぞ

スレッドを立てるまでもない質問雑談スレ23
http://pc8.2ch.net/test/read.cgi/prog/1139729337/l50

【ルールは】超初心者が質問するスレ【守れ】
http://pc8.2ch.net/test/read.cgi/prog/1093770642/l50
01691642006/04/03(月) 20:51:52
>>168
誘導サンクスです。<(_ _)>
お邪魔しました〜
0170デフォルトの名無しさん2006/04/04(火) 07:41:51
#define x(arg1) なんか展開する
#define y(arg2) x(arg2)を使って展開する

こんな感じでマクロの中で他のマクロを
多重に使えるんでしょうか?
そのとき評価順序はどうなるんでしょう?
0171デフォルトの名無しさん2006/04/04(火) 08:29:17
#define x(arg1) X##arg1##X
#define y(arg2) x(arg2)
#define z(arg3) Z z(arg3) Z
x(xxx)
y(yyy)
z(zzz)

    ↓展開結果 by gcc -E

XxxxX
XyyyX
Z z(zzz) Z
0172デフォルトの名無しさん2006/04/04(火) 08:31:50
これはまぁ分かるんだけど、次の例はどういうこと?

#define z(arg3) Z##z(arg3)##Z
z(zzz)

    ↓ 展開結果 by gcc -E

test.c:2:1: pasting ")" and "Z" does not give a valid preprocessing token
Zz(zzz)Z
0173デフォルトの名無しさん2006/04/04(火) 08:44:43
>>172 エラーメッセージ嫁
0174デフォルトの名無しさん2006/04/04(火) 08:47:00
>>173 いや、だからなぜ二個目のZが単なるリテラル
として連接されずに、展開対象になっているのかと。
gcc の 2.9.x から 3.x で挙動が変わった?
0175デフォルトの名無しさん2006/04/04(火) 08:49:18
うーん、こういうこともあるみたいだし、あんまり変な事するなってことか?
http://blog.tcp-ip.or.jp/ar/syuichi/index.php?mode=show&date=20050112
0176デフォルトの名無しさん2006/04/04(火) 08:52:06
ごまん、激しくかんちがいしてた。
鬱だしのう
0177デフォルトの名無しさん2006/04/04(火) 09:08:40
>>174 どこにリテラルがある?
0178デフォルトの名無しさん2006/04/04(火) 10:58:14
これはひどい
0179デフォルトの名無しさん2006/04/04(火) 11:29:13
インターネッコ
0180デフォルトの名無しさん2006/04/04(火) 12:01:29
複雑なファイルはCでは
どう読みこめば?
あかさたなはまやら
というファイルから
かさた、まや
だけ読み込んでcharに
置き換えるにはどうすればいいのでしょう?
0181デフォルトの名無しさん2006/04/04(火) 12:38:23
>>170
>そのとき評価順序はどうなるんでしょう?
#define x(a) {a}
#define y(a) <x(a)>
とすると、y(foo)の展開は次のように進む。引数の展開の細かいところは省略した。
矢印は「着目しているトークン」を指す。
→y(foo)
/* マクロyの呼び出しを認識。引数の対応は a -> foo */
/* 引数fooを展開。結果はfoo */
/* yの呼び出しを定義本体で置き換える */
→<x(foo)>
/* <はマクロではないのでそのまま出力 */
<→x(foo)>
/* マクロxの呼び出しを認識。引数の対応は a -> foo */
/* 引数fooを展開。結果はfoo */
/* xの呼び出しを定義本体で置き換える */
<→{foo}>
/* {はマクロではないのでそのまま出力 */
<{→foo}>
/* 以下同様。これ以降マクロの呼び出しはなく、結果は<{foo}>。 */
0182デフォルトの名無しさん2006/04/04(火) 12:44:00
>>180
どういう条件で

 かさた、まや

だけが抜き出されるのか?
をコンピュータに説明すればいい。
0183デフォルトの名無しさん2006/04/04(火) 12:51:18
そういやマルチバイト文字1文字を表すときどうやんの?
char ch ='あ';だとコンパイルエラーだし
0184デフォルトの名無しさん2006/04/04(火) 12:59:01
マルチバイトって時点で一文字とかそういうの超越してる。
0185デフォルトの名無しさん2006/04/04(火) 13:42:56
そういえばおれもロケールの扱い方はイマイチだ・・・orz

5冊C++の本あるのにstd::localeのこととか、どれにもほとんど載ってねー
買う本間違ったかな・・・、それとも足りないかな・・・
まあ、ぐぐればそれなりに出てくるみたいだけど

以上チラシの裏
0186デフォルトの名無しさん2006/04/04(火) 13:52:00
>>182
それが難しくて出来ないんです
単にfscanfを利用してもできませんし…
0187デフォルトの名無しさん2006/04/04(火) 14:14:16
>>186
ワイド文字を含むテキストファイルから、例えば任意のn番目にある文字を知りたい
みたいな感じ?
0188デフォルトの名無しさん2006/04/04(火) 15:04:47
勉強し始めのド低脳な質問かもしれないけど
お願いします。

金額を入力して、割引した額を表示させるプログラム
を作ったのですが
printf("一割引の場合\n%d円\n",(int)(a*0.9));
この行の(int)(a*0.9))の(int)がなぜ必要なのでしょう?
実際無くしてやってみたら全部計算結果が0になってしまった
のですが。
0189デフォルトの名無しさん2006/04/04(火) 15:07:39
int型の整数(この場合a)に小数点ありの実数(0.9)を掛けると
int型は自動的にdouble型やfloat型などの浮動小数点型に”格上げ”されてしまうため、
(int)でint型にキャストして表示してる
0190デフォルトの名無しさん2006/04/04(火) 15:12:15
>>189
ということは、5とか6とか掛けるなら
このintはいらない、ってことですね。
アリガトウございました。
0191デフォルトの名無しさん2006/04/04(火) 15:42:49
>>183
       、--‐冖'⌒ ̄ ̄`ー-、
     /⌒`         三ミヽー-ヘ,_
   __,{ ;;,,             ミミ   i ´Z,
   ゝ   ''〃//,,,      ,,..`ミミ、_ノリ}j; f彡
  _)        〃///, ,;彡'rffッ、ィ彡'ノ从iノ彡
  >';;,,       ノ丿川j !川|;  :.`7ラ公 '>了  なにジョジョ? マルチバイト文字一文字が表せない?
 _く彡川f゙ノ'ノノ ノ_ノノノイシノ| }.: '〈八ミ、、;.)
  ヽ.:.:.:.:.:.;=、彡/‐-ニ''_ー<、{_,ノ -一ヾ`~;.;.;)  ジョジョ それは「一文字」と考えるからだよ
  く .:.:.:.:.:!ハ.Yイ  ぇ'无テ,`ヽ}}}ィt于 `|ィ"~
   ):.:.:.:.:|.Y }: :!    `二´/' ; |丶ニ  ノノ    逆に考えるんだ
    ) :.: ト、リ: :!ヾ:、   丶 ; | ゙  イ:} 
   { .:.: l {: : }  `    ,.__(__,}   /ノ   「2バイトだから文字列だ」と
    ヽ !  `'゙!       ,.,,.`三'゙、,_  /´   
    ,/´{  ミ l    /゙,:-…-〜、 ) |       考えるんだ
  ,r{   \ ミ  \   `' '≡≡' " ノ  
__ノ  ヽ   \  ヽ\    彡  ,イ_
      \   \ ヽ 丶.     ノ!|ヽ`ヽ、
         \   \ヽ `¨¨¨¨´/ |l ト、 `'ー-、__
            \  `'ー-、  // /:.:.}       `'ー、_
0192デフォルトの名無しさん2006/04/04(火) 15:51:09
>>191
UTF-32だったら4バイトだよ
0193デフォルトの名無しさん2006/04/04(火) 19:01:40
L なしで UTF-32 はねーよ。UTF-8 なら分かるが。

SJIS にしろ EUC にしろ UTF-8 にしろ、
どちらにしろ文字列だな。
0194デフォルトの名無しさん2006/04/04(火) 21:07:08
>>183
Shift-JIS環境などでは通る。

>>186
> それが難しくて出来ないんです

まず、条件をまとめろ。
話はそれからだ。

そもそも、人に説明できない事を、
コンピュータに命令出来ると思ってるのか?

抜き出したい各文字がどういう条件で抜き出されるのか、
もう一度よく整理するこったな。
0195デフォルトの名無しさん2006/04/04(火) 21:34:19
wchar.hっていつできたの?
最近のC言語の本でも載ってないのけっこうある。
標準だよね?
0196デフォルトの名無しさん2006/04/04(火) 21:37:28
C95からだからもう10年以上前に。

ttp://ja.wikipedia.org/wiki/C99
0197デフォルトの名無しさん2006/04/04(火) 21:52:39
それってwchar_t型の話では?
stddef.hの・・・
0198デフォルトの名無しさん2006/04/04(火) 21:58:08
wchar_tはC89からあるだろ。
0199デフォルトの名無しさん2006/04/04(火) 22:17:10
http://www.kumei.ne.jp/c_lang/intro/no_35.htm
>int *ptr();とするとint型へのポインタを返すptr関数という意味になります。
これってどういう意味なんですか?
サンプルソースとか誰か書いてくれませんかね?
0200デフォルトの名無しさん2006/04/04(火) 22:22:39
>>199
int* ptr();
こう書いたらわかるか。
0201デフォルトの名無しさん2006/04/04(火) 22:23:10
>>199
int *ptr(); /* 宣言 */

int *ptr() { return NULL; } /* 定義 */
0202デフォルトの名無しさん2006/04/04(火) 22:27:12
int * ptr()
{
static int forex = 10;
return & forex;//int へのポインタ
}
0203デフォルトの名無しさん2006/04/04(火) 22:28:28
>>199
ついでに言えば、
int * ptr() = NULL;
はエラー。
int (* ptr) () = NULL;
は合法。
0204デフォルトの名無しさん2006/04/04(火) 22:36:15
分かりました。
どうもありがてれう。
0205デフォルトの名無しさん2006/04/04(火) 23:12:39
 for (i=0,encstring+=6;*encstring;encstring+=2,i++) {
  val = MyStrSearch( nRnd, *encstring, *(encstring+1) );
  decstring[i] = (unsigned char)val;
 }
たぶん2重に条件つけてるんだろうけど
for($i=0;なんたら〜;$i++){

}
と展開してくれないかな?
0206デフォルトの名無しさん2006/04/04(火) 23:27:00
for(A;B;C) {
〜
}

≒

A
while(B){
〜
C
}
0207デフォルトの名無しさん2006/04/04(火) 23:29:47
>>205
それ、山田オルタの宇宙語デコーダだろ?
0208デフォルトの名無しさん2006/04/05(水) 04:03:51
CInternetSessionでとってきたソースがEUCで書かれているのですが、
これをCStringに読めるようにする方法、ありますか?
VC++.NET MFC SDIです。宜しくお願いします。
0209デフォルトの名無しさん2006/04/05(水) 04:44:58
ありますよ
0210デフォルトの名無しさん2006/04/05(水) 07:37:00
ConvertINetMultiByteToUnicode
0211デフォルトの名無しさん2006/04/05(水) 08:50:25
質問です
 
while(1){
printf("hello\n");
}

というプログラムを実行すると
hello
hello
.....と続くじゃないですか、
一回一回のループでコマンドプロンプトに出力された結果を消去したいんですが・・
つまり hello が一回だけ出力されるようにしたいんですが・・

while使うなって思うかもしれませんがどうしてもwhileはまわしたいんです。
誰か、教えてくださいお願いします
0212デフォルトの名無しさん2006/04/05(水) 08:52:55
#ifdef WIN32_
system("cls");
#else
system("clear");
#endif
0213デフォルトの名無しさん2006/04/05(水) 08:59:00
>>212さん

助かりました。ありがとうございます
0214デフォルトの名無しさん2006/04/05(水) 09:24:07
>>211
1行だけしか出力しないなら\rって手もある
printf("hello\r")にすればカーソル位置がhに戻るから上書きされる
進捗度表示するのとかに使えるな
0215デフォルトの名無しさん2006/04/05(水) 11:31:48
ま、長くなって改行すると破綻するけどね。
0216デフォルトの名無しさん2006/04/05(水) 11:34:04
>183 デフォルトの名無しさん 2006/04/04(火) 12:51:18
> そういやマルチバイト文字1文字を表すときどうやんの?
> char ch ='あ';だとコンパイルエラーだし

>194 デフォルトの名無しさん 2006/04/04(火) 21:07:08
> >>183
> Shift-JIS環境などでは通る。
0217デフォルトの名無しさん2006/04/05(水) 11:34:38
文字列の配列(char**)を動的に確保したいんだけど、
どうしても下の箇所でエラーが出る
よくよく考えればサイズの分からないものを確保しようとして失敗してるってわかるんだけど、どうにかならないかな
ファイルから文字列を読み込み、rand()%numで文字列配列内の要素にランダムにアクセスしてそれを出力するプログラムです

ReadFile(char**& urllist, int& num)
{
/*・・・・・・・・・・・・・・・・・・*/
 strlist = new char*[num];
/*・・・・・・・・・・・・・・・・・・*/
}
0218デフォルトの名無しさん2006/04/05(水) 11:36:41
>>211
なんだかいろいろ見つかった。
http://pc8.2ch.net/test/read.cgi/tech/1124256027/583
http://pc8.2ch.net/test/read.cgi/tech/1142302804/988
http://pc8.2ch.net/test/read.cgi/tech/1142302804/983
http://pc8.2ch.net/test/read.cgi/tech/1134128493/382
http://pc8.2ch.net/test/read.cgi/tech/1135077848/437-438
http://pc8.2ch.net/test/read.cgi/tech/1138893959/35
0219デフォルトの名無しさん2006/04/05(水) 11:38:19
>>217
・std::vectorを使う。
・関数I/Fを見直す。
・newを使うという発想の愚かさに気づく。
0220デフォルトの名無しさん2006/04/05(水) 11:44:33
>>219
オーケー
マロクってくる
0221デフォルトの名無しさん2006/04/05(水) 11:51:32
>>220
ー^)ъ GJ!
0222デフォルトの名無しさん2006/04/05(水) 12:02:04
まったくの初心者なのですが、つい最近からC言語を勉強しようと思って
コンパイルをDLしたのですが、MS-DOS窓というのがどこにあるのかまったくわかりません。
C言語の初心者サイトなどを一応見てみたのですが書いていなくて、くだらない質問だとは思いますが教えてください。


0223デフォルトの名無しさん2006/04/05(水) 12:07:03
スタート->ファイル名を指定して実行に「cmd」って入れて出る窓のことをDos窓と言う
コマンドプロンプト。
0224デフォルトの名無しさん2006/04/05(水) 12:12:33
C言語でさっき、char型の変数に0x80をしまい
printf("%d");で中身を確認した所-128と言う値が出力されました
0x70で1120 0x01で10が出力されたのですが、なんでですか?
単純に変数の型と%dの形式があってないからそのような出力がされただけで
実際に変数の中身は代入された値がしまわれているのでしょうか?
0225デフォルトの名無しさん2006/04/05(水) 12:17:08
あなたの環境ではcharは2の補数の符号付整数だから。
0226デフォルトの名無しさん2006/04/05(水) 12:22:33
>>225
御回答ありがとうございます。
じゃあunsigned charにすれば問題ないですね
0227デフォルトの名無しさん2006/04/05(水) 12:32:14
>>223
教えていただいてありがとうございます。
cmdでいいならなんでDOS窓なんて言うんでしょうね・・・。ずっと探してましたよ・・・。


0228デフォルトの名無しさん2006/04/05(水) 12:34:56
>>227
プログラムの前に、コンピュータの一般的な基礎知識から勉強しろよ。
0229デフォルトの名無しさん2006/04/05(水) 12:47:20
>>218 良くそこまで沢山見つけてきたな。
0230デフォルトの名無しさん2006/04/05(水) 13:41:54
>>227
ここはPG初心者歓迎であってPC初心者は受け付けてないのだぜ
とっとと帰るんだぜ
0231デフォルトの名無しさん2006/04/05(水) 13:48:13
command.com と cmd.exe は違うと、
嫁が言ってました。
0232デフォルトの名無しさん2006/04/05(水) 13:59:48
int func(){
  for(int i=0;i<20;i++){
    hoge(i);
  }
  return;
}

iの寿命がfunc関数内ではなく、for内だけにする設定って、VC++6.0ではどうやるんですか?
0233デフォルトの名無しさん2006/04/05(水) 14:02:08
forの中で宣言したものはforの中でしか使えない
0234デフォルトの名無しさん2006/04/05(水) 14:04:31
VC6だとその設定はできなかったような。
0235デフォルトの名無しさん2006/04/05(水) 14:04:45
>>232
#define for if(0); else for
0236デフォルトの名無しさん2006/04/05(水) 14:11:40
>>233 いつの頃から、そうなったなぁ・・・・
0237デフォルトの名無しさん2006/04/05(水) 14:12:09
>>236
VC6がそもそもおかしかった。
0238デフォルトの名無しさん2006/04/05(水) 14:13:32
>>237 VC6が、というか、標準化の中で
そういう風に明確に規定されるようになったんじゃないかな。
0239デフォルトの名無しさん2006/04/05(水) 15:17:44
VC6が出たのは98年のC++標準が出た直後だったと思うが
ドラフト無視して作っただけじゃないかな
0240デフォルトの名無しさん2006/04/05(水) 15:24:12
いや、一応VC++6.0にもifのスコープを標準準拠にするってオプションあるはずだが。
大量にコンパイルエラーになるコードがあるから標準ではOFFってだけじゃなかったか。
0241デフォルトの名無しさん2006/04/05(水) 15:29:29
/Zc:forScope (for ループのスコープの強制準拠)
http://msdn2.microsoft.com/ja-JP/library/84wcsx8x.aspx

Visual C++ 6 および 7.1 では /Zc:forScope オフがデフォルト
Visual C++ 8 では オンがデフォルトのようです。
0242デフォルトの名無しさん2006/04/05(水) 15:45:19
だから VC++ 6.0 にそんなオプションないってば
0243デフォルトの名無しさん2006/04/05(水) 15:56:48
C++標準前に作ってたんだから、VC6にそんなオプションあるわけないじゃん。
だから、VC7でオプション作って、互換性のためにデフォルトでオフにしたんとちゃうん?
0244デフォルトの名無しさん2006/04/05(水) 16:05:43
つーか初期化子はforループの外に書けwそれで解決www
0245デフォルトの名無しさん2006/04/05(水) 16:41:33
>>235 で問題ないだろ。
02462322006/04/05(水) 16:59:25
235でやってみます。
0247デフォルトの名無しさん2006/04/05(水) 17:04:11
いいぞ、やれ、もっとやれ。
0248デフォルトの名無しさん2006/04/05(水) 17:28:08
>243
/Za
ただし、Windows.hでエラーが出るようになるが(w
0249デフォルトの名無しさん2006/04/05(水) 18:48:29
VC++6.0だとMS拡張を全部切らないと無理だよな。
0250デフォルトの名無しさん2006/04/05(水) 22:31:35
USBに接続するタイプのゲームコントローラで操作できるプログラムを作っているんですが、
肝心のコントローラからの入力をどうやって処理したらいいかわかりません。
ウインドウメッセージで WM_DEVICECHANGE というのがあったので検知できるかと思ったのですが
コントローラのボタンを押しても wParam に何も入りません。
USBとかからの情報を扱えるウインドウメッセージは他にありませんか?
0251デフォルトの名無しさん2006/04/05(水) 22:54:57
>>250
USBとかは関係ない。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_multimedia_input.asp
かDirectInputあたりを使え。
0252デフォルトの名無しさん2006/04/06(木) 02:04:31
仮想関数をオーバライドする際、基底クラスのpublicな仮想関数を
派生クラスではprivate関数としてオーバライドできるって、
何かおかしくないですか?オーバライドする際、アクセス指定は
一致させる必要ないですよね?
そうすると基底クラスのポインタ経由で派生クラスのprivateな関数
呼び出せちまいますよね。継承自体がprivate継承なら基底のポインタに
派生のポインタ代入するとコンパイルエラーになるようですが。。。

(それともこれって標準規格では違うの?俺のコンパイラだけ?)
■ このスレッドは過去ログ倉庫に格納されています