1 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 01:08:48 ] エスケープシーケンスやWin32APIなどの環境依存なものでもOK。 ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.65【環境依存OK】 pc12.2ch.net/test/read.cgi/tech/1239326399/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm ◆ソースのインデントについて 半角やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのが最も良いですが、 直接貼るのであれば、全角空白か に置換しておくことをお勧めします。
152 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 20:14:11 ] >>147-148 馬鹿はわざわざ書き込まなくてもいいのですよ。 >>151 取り敢えず、printf("%d\n", atoi(& s[1]))とでもして味噌。
153 名前:146 mailto:sage [2009/06/03(水) 20:45:12 ] >>152 ありがとうございました!できました。 エラーの意味が少し分かった気がしました(これから勉強します)。 >>147-148 即レス感謝しております。色々とキッカケになりました。 ありがとうございました。
154 名前:デフォルトの名無しさん [2009/06/03(水) 23:02:04 ] marupeke296.com/GameMain.html
155 名前:デフォルトの名無しさん [2009/06/04(木) 01:41:16 ] www.setsunan.ac.jp/~center/kyositu/freec/dl2008.html このページを参考にコンパイラをインストールしました。 このページの最後にある、使い方を見るってやつのことで質問なのですが、 僕のbcc32は奥の方にあって(C:\Borland\...)、最終的にbcc32があるところにたどりつくのですが、 ここでしかコンパイラできないじゃないですか? それが面倒なのでどうにか簡単にできないかってことと、 bcc32があるディレクトリの中には他にもいろんなプログラムがあるんですが、作成したCファイルも 同じところに保存しないとコンパイル&実行できないですよね? つまりこのディレクトリの中がいろんな形式のファイルがあってめちゃくちゃ汚くなっちゃうわけです。。 これってなんとかキレイにまとめる方法ってあるでしょうか? もしあるなら、申し訳ありませんが教えてください(>_<)
156 名前:155 [2009/06/04(木) 01:46:27 ] すみません補足です。。 一部コンパイラ→コンパイルですね ↑のは自分で見なおしてみるとちょっと日本語がアレなので簡潔に質問しますと、 1.cdの回数を最小限にする方法(bcc32を含むディレクトリをC:の直下に持ってきていいのでしょうか?) 2.CファイルはCファイルだけでどこかにまとめて、そのうえでコンパイル&実行はできるのか ということです。 よろしくお願いします。。
157 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 02:27:13 ] 使い方を見るじゃなくて、先に >インストール(WindowsVista)に進む >インストール(WindowsXP,2000)に進む >インストール(Windows98,95)に進む のどれかを見ろ。 環境変数を設定する解説がある。 それを設定すれば、どこからでもbcc32が呼び出せるようになる。 あとは好きなところにディレクトリを作って、その中でコンパイルすればいい。
158 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 02:29:08 ] そこの説明どおりにやればどこでもコンパイルできるはずだけど?
159 名前:156 [2009/06/04(木) 11:46:59 ] >>157 ,158 ありがとうございます。 OSはVistaで、ここに書いてある通り環境変数も設定したつもりなのですが できないんです。。 ;c:\borland\bcc55\bin ですよね? これだとここで指定したディレクトリじゃないとできないってことでしょうか? ローカルディスク(C)の中ならどこでもコンパイルできるようにするには、設定を c:\ にすればいいということでしょうか?
160 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 11:52:18 ] >>159 コマンドラインで、path と打って出てくる文字列に c:\borland\bcc55\bin はあるか? ちなみにシステム変数の設定をしたあとで開いたコマンドプロンプトじゃないと 有効じゃないぞ
161 名前:デフォルトの名無しさん [2009/06/04(木) 12:06:53 ] >>160 コマンドプロンプトでpathを打つとちゃんと出てきます。 それで、確認用ファイルを c:\Emacs\C\test.c という風に作ったディレクトリに保存して、Cディレクトリ内で c:\Emacs\C\>bcc32 test.c というようにコマンドしても操作可能なプログラムとして… というメッセージが返ってきます。。。
162 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 12:28:01 ] bcc32 test.c これを、 c:\borland\bcc55\bin\bcc32 test.c と打つとどうなるよ。
163 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 12:29:09 ] あと環境変数の最後に書いてある? 最初と最後以外は ; で区切ってないと前後とくっつくぞ
164 名前:デフォルトの名無しさん [2009/06/04(木) 13:16:59 ] WindowsでWinSockのプログラムを書くとき、C++ではなくCを使うのでしょうか? どうしてもC++で書きたかったら、 struct sockaddr_in とかそういうのは、上手く自作のクラスにまとめてしまえばいいのでしょうか?
165 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 13:25:45 ] 別にC++でもstruct sockaddr_in とかそういうのは書けるだろ
166 名前:デフォルトの名無しさん [2009/06/04(木) 13:38:12 ] でもネットワーク関係の例題プログラムを見てると、参照は使わないし、クラスもなし、マクロ使いまくり、 とかそういう感じのプログラムばかりだったので、みんなそんな感じなのかなと。
167 名前:デフォルトの名無しさん [2009/06/04(木) 14:03:34 ] >>162 そうコマンドすればコンパイルできます。 ただし、"コマンド'ilink32.exe'を実行できない"とエラーが出ます。 やはりbinディレクトリの中でやりくりするしかないのでしょうか? >>163 そこは大丈夫です。ちゃんと; ;で挟んであります。
168 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 14:07:11 ] >>167 リンカがパス通ってないからな。 それでコンパイルできるなら、PATHがおかしいんだよ。 どこかタイプミスがあるはず。その部分コピペして貼り付けてみ。 コマンドプロンプトのコピーのしかたはわかるよな?
169 名前:デフォルトの名無しさん [2009/06/04(木) 14:30:41 ] >>168 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\usr\local\bin;D:\MinGW\bin;c\borland\bcc55\bin;C:\Program Files\QuickTime\QTSystem\ これがパスの設定です。これのことですか? コマンドプロンプトのコピーの仕方はわかりませんが(笑)、 ちょっと打ってからTabで出してるのでタイプミスはないと思います。。
170 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 14:33:55 ] >>169 >c\borland\bcc55\bin コロンが抜けてる c:\borland\bcc55\bin で
171 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 14:37:58 ] このすれ優しい人が多いね。 感動した!
172 名前:169 [2009/06/04(木) 15:36:42 ] >>170 おぉ!!できました! 親切にありがとうございます!! 171じゃないですが、本当に優しい人が多くて助かりました! あと、ついでと言ってはなんですがコマンドプロンプトについて質問です。 コマンドプロンプトを開いたときの最初の位置が C:\Users\kei になってます。(keiは僕の名前です) 開いたとき一番最初は C:\ になってると一番都合がいいのですが、そのように設定できますか? プロパティとかいろんなトコからやろうとしても見当たらないので…。
173 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 15:39:15 ] \usr\local\bin 何に使うんだろう
174 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 15:39:16 ] ショートカット作っとけばいいべ。 プログラムはcmdで、作業フォルダはC:|
175 名前:174 mailto:sage [2009/06/04(木) 15:40:16 ] C:\だった、、、シフト押しっぱなしだった
176 名前:デフォルトの名無しさん [2009/06/04(木) 16:21:59 ] 作業フォルダの設定はどうするんですか? どう開いても変なディレクトリから入っちゃいます。。 cd ../../ を毎回やるのは億劫なので。。。
177 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 16:37:32 ] 右クリックでプロパティ出せばいいだろう。 cd \ でいいじゃない
178 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 16:40:04 ] そろそろスレ違いだな
179 名前:デフォルトの名無しさん [2009/06/05(金) 08:08:41 ] クラスをグローバルにしたいんだけど、 extern AClass a; でいいの?
180 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 08:22:59 ] バッチファイル書けば楽にならないか? cd ..\...\ bcc32 %1 とか。
181 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 09:58:57 ] ルートで作業するのは論外。
182 名前:デフォルトの名無しさん [2009/06/05(金) 11:16:18 ] ネットワークのプログラムを書いてると、「Windowsのファイヤーウォールがブロックしました」 みたいなメッセージが最初の動作時に一回だけ出るときがありますが、出ても最初の一回だけで その後は出ません。これってプロパティのどこかにアンブロックしたという記録が残っている のでしょうか?
183 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 17:56:01 ] 板違い
184 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 19:23:36 ] >>182 レジストリのどこかは知らないが、設定の閲覧・変更は コントロールパネルのWindowsファイアウォールのところを見ればいい。
185 名前:デフォルトの名無しさん [2009/06/05(金) 20:44:54 ] >>183-184 ありがとうございます。コントロールパネルに見つかりました。 あともう1つだけ。(板違いといわれそうなのですが…一応C++で書いているので) TCPで複数のコネクションを同時に保持するサーバーを書きたいのですが、サーバ側から みた通信先はどうやって区別すればよいですか?適当にIDとかを割り振ってそこをみるように すればいいんでしょうか? ××のソースをみろとかでもいいです。どうかお願いします。
186 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:48:43 ] >>185 ソケットなら接続してきたクライアントの情報を得られる。 ネットワークプログラミング相談室なんてスレがなかったかな?
187 名前:デフォルトの名無しさん [2009/06/05(金) 21:10:01 ] >>186 ありがとうございます。 ということは、accept()で得られたクライアント情報のIPアドレス+ポート番号 の組でクライアントを識別するということですか? >ネットワークプログラミング相談室なんてスレがなかったかな? 次からはそっちで聞いてみます。
188 名前:質問 [2009/06/05(金) 23:03:36 ] VC++2008です textBox1に自由に入力させ、「眼鏡」という文字列が入力された瞬間に メッセージボックスを表示するにはどうしたらいいでしょうか TextChangedイベントの中でif(textBox1->Text=="眼鏡")としたんですが、 前後に文章があるときもメッセージボックスを表示させたいです よろしくお願いします
189 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 23:57:40 ] strstr
190 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:25:52 ] VisualC++2008EEです 引数としてクラスのポインタを受け取り、そのポインタにnewでクラスのインスタンスを作る関数は作れますか? また、どのように作るのでしょうか? そうして作ったインスタンスを関数の外でdeleteしたいのです よろしくお願いします
191 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:33:14 ] >>190 void f(int*& rp) { rp = new int; } int main() { int *p; f(p); delete p; }
192 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:45:09 ] キモイ設計だな
193 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:51:18 ] メリット皆無だし
194 名前:デフォルトの名無しさん [2009/06/06(土) 03:34:30 ] 普通のメンバ変数を初期化するときって、 コンストラクタの後ろに付加、コンストラクタの中で代入、初期化用メンバ関数を用意してコンストラクタの中で呼び出し ……とかいろいろ考えられると思うけど、使い分けってある? あと、特に理由がない限り、コピーコンストラクタに初期化処理ってしなくても大丈夫よね?
195 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 03:48:26 ] なるべく初期化リストで全部済ませる 初期化で済む物を代入にするメリットは全くない
196 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 03:50:05 ] 使い分けというか、言語やプログラムの仕様から制約されるってかんじジャね? const なメンバ変数 => 初期化リストでしか初期化できない。 初期化のために手続きが必要 => 初期化リストでは無理 初期化のタイミングがコンストラクション時以外にもある => じゃ、別関数にしておくか
197 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 03:51:05 ] 意地でも例外を送出したくない場合。
198 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 04:17:00 ] const以外でも初期化リスト結構みんな使ってるのかー。 途中でリセットする場合以外でも、お婆ロードでコンストラクタが複数あるときは 別関数の方が楽そう……かな?
199 名前:デフォルトの名無しさん [2009/06/06(土) 04:53:35 ] Visual C++ eeのWin32APIでやってます。 ユニコードONの状態で wchar_t type[255] = _T("うんこ"); MessageBox(NULL, (PCTSTR)typeid(type).name(), NULL, MB_OK); とすると文字化けしてしまうのですが、なんでですか? 文字列リテラルにLをつけないといけないのと関係あります? うまく表示する方法ってどうやるのですか? まだ始めたばっかだしマルチバイトでやればいいのでしょうけど 気になるので、よかったら教えてください お願いします
200 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 06:47:24 ] >>198 Effective C++は読んだかい? まだなら定額給付金を片手に今すぐ本屋に行くんだ。
201 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 06:48:32 ] typeid(type).name()はLPCTSTRじゃないから MessageBoxA(NULL, typeid(type).name(), NULL, MB_OK)
202 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 06:57:13 ] >200 おや なぜか めのまえの ほんだなに おいてあるぞ!
203 名前:199 [2009/06/06(土) 15:31:21 ] >>201 MessageBoxAとMessageBoxWがあって #ifdef UNICODE #define MessageBox MessageBoxW #else #define MessageBox MessageBoxA #endif // !UNICODE こんなんなってるんですね だからMessageBoxAを強制的に呼び出してやると 氷解しました。ありがとうございます。
204 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 17:26:42 ] >>199 TCHAR type[255] = _T("ちんこ"); MessageBox(NULL, type, NULL, MB_OK);
205 名前:デフォルトの名無しさん [2009/06/07(日) 13:03:16 ] dummy
206 名前:デフォルトの名無しさん [2009/06/07(日) 14:01:55 ] int org_i = 1000; void *p = &org_i; int i = *reinterpret_cast<int*>(p); voidへのポインタからINTの値を取り出そうとして上のようにしたのですが、 reinterpret_castの前に*があったりしてなんとなくいやです。 ほかに方法はないでしょうか?
207 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 14:04:28 ] それが正しい方法だからそれでいい
208 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 14:05:17 ] voidのポインタをやめる
209 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 14:50:41 ] こんなテンプレートを用意して template <class T> T pointer_value(const void* p) { return *static_cast<const T*>(p); } こうする int i = pointer_value<int>(p);
210 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 14:56:13 ] テンプレートは分からないので禁止
211 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 17:15:04 ] >>210 お前が勉強しろ
212 名前:デフォルトの名無しさん [2009/06/07(日) 18:35:31 ] テンプレートはわからないので禁止
213 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 18:46:18 ] ポインタはわからないので禁止
214 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 18:56:05 ] C++はわからないので禁止
215 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 19:20:16 ] クラスAがクラスBに所持されてる関係になってるとして インスタンスAがB1に参照されてる状態から B2がインスタンスAを参照したらB1からAの参照が切れる 常にAが1個のBから参照されるような関係を作るにはどうしたら良いでしょうか?
216 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 19:37:11 ] 所有を譲渡するメソッドをBに作る
217 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 20:04:47 ] 逆にAがBを参照するように変更できないか検討する
218 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:29:49 ] >>216 B同士で所有の移動をするメソッドを、ということでしょうか? >>217 BがAに更新通知してAがBの値を読みに行くので Aへの更新通知を別の方法で実現できればそれでもいいのですが・・
219 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 00:37:33 ] Aを触れないし値も引き出せない状態になったB1・B2の挙動をどうするつもりかに因るな
220 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 00:38:58 ] AからBにコールバックでも登録させればいいんでない。
221 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 00:41:57 ] AがB1に参照されたり、B2に参照されたりってのを決めるのはだれだ?
222 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 01:43:02 ] > BがAに更新通知してAがBの値を読みに行くので Aに"今からお前の相手するBインスタンスはわしじゃ"通知メソッドを作れば? その際に元彼Bに"もう私のことは放っておいて"通知メソッドをAから呼んでもらう
223 名前:デフォルトの名無しさん [2009/06/08(月) 11:43:40 ] C++では、戻り値だけが違う関数は同じものとされますが、 戻り値だけが違う関数を複数作りたい場合どうするべきでしょうか? class C1; class C2; というのがあって、 C1 create(); C2 create(); という感じにやりたいときです。 お願いします。
224 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:11:13 ] >>223 無理です。だいたい呼び出せません。 名前空間を使いましょう。
225 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:17:56 ] ファイルの開け方、閉じ方はわかったのですが読み取って処理するところがよくわかりません ,で区切られて1行に並んでるファイル内の行列から数値を配列に入れる方法を教えてください!
226 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:23:49 ] やりかたはいろいろありすぎて、、、 とりあえず手始めに、fgets()とsscanf()使ってみるのはどうか? まあ配列に入れるならループで回してstrtokとatoi使う手もあるけど、 最後はstrtok+atoiみたいな関数を自分で作るのがいいかもね。
227 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:24:30 ] 今回初めてマルチスレッドな処理を行う必要があるのですが 注意点、スレッドセーフな処理にするための方法などを詳しく扱った書籍やサイトはないでしょうか?
228 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:25:39 ] >>226 ありがとうございます ,の除き方を詳しく教えてください
229 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:26:37 ] >>228 csvデータの読み込みでぐぐった方がいいかも
230 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:27:37 ] >>228 sscanf()もstrtok()も , の処理はやってくれるだろ。 自前でやるならstrchr()で場所調べて切り出していけばいいと思うよ。
231 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:32:12 ] そうなんですが 全然知りませんでした ありがとうございました
232 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 14:05:22 ] >>223 dmyC{}; class C1{C1 operator=(dmyC&){*this=createC1();return *this;}}; class C2{C2 operator=(dmyC&){*this=createC2();return *this;}}; dmyC create(){return dmyC();} C1 C1create(){〜return c1;} C2 C2create(){〜return c2;} なんのメリットがあるか知らんが使用側で偽多態受けなら出来ん事はない 前参照やスコープは適当に修正要
233 名前:デフォルトの名無しさん [2009/06/08(月) 14:14:40 ] C99より前の規格では、nanやinfを検出することってできないのでしょうか?
234 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 14:19:51 ] 修正 dmyC で弄った方が潰しが利くね dmyC{operator C1(){〜return c1;}operator C2(){〜return c2;}};
235 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 14:50:49 ] floatで数字をいろいろ処理して,でつないでcharに直してfputsで書き出したいんですけど方法を教えてください!
236 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 15:39:06 ] fscantfとかsscanfとかそういうことか わかったぽ
237 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 19:01:54 ] .netはC++では扱えないんですか
238 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 19:06:26 ] はい
239 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 19:10:15 ] C#でしかやれないということですか? GUIアプリを楽につくりたいならC#ですかね?
240 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 19:11:14 ] その通り!
241 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 19:18:42 ] テンプレートの話は禁止だって言ってんだろ
242 名前:デフォルトの名無しさん [2009/06/09(火) 01:07:44 ] int array[x][y]; があるとき、 array[10] == &array[10][0] でしょうか?
243 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:14:00 ] よく考えたら分かると思うが頭痛が悪くなるようなコードは書くな
244 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:14:19 ] 配列は分からないので禁止
245 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:17:52 ] >>242 気になるならポインタがさしてるアドレスを比べてみなよ
246 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:20:47 ] >>245 型は配列なので注意が必要、多分等しいだとは思うんだが。(両方とも配列) 配列はポインタに自動変換だが、逆はそうではない、やっぱ頭痛い。
247 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:23:22 ] ああ違う、右はポインタ、左は配列、そして左が自動変換だ うぜぇぇ
248 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:24:56 ] int a[10]; は、int10個の配列aで分かりやすいのに。 int a[10][20]; は、int10この配列が20個、ではないところがややこしい。
249 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:26:48 ] >>248 Cの規則ですから int func()[10] { return 配列; } おらよ、これでも喰らえってなもんだ
250 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:26:53 ] ポインタ本を読むと出てくる(K&Rでもかかれてる)けど 配列や関数の型は、外側からはがしていく感じで解釈するんだよね。
251 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:49:26 ] >>249 関数は配列を返せない
252 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:53:52 ] >>251 ANSIでは使えない事になっているが、返せる処理系もっあってだな、 アホな開発者がそれを返している糞ライブラリがあるんだ どこのかって?S○Eとか○CEとかSC○とか、まあそんなところ、死ねます。