[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/16 02:43 / Filesize : 202 KB / Number-of Response : 823
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part95



1 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 04:55:24.99 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part94
toro.2ch.net/test/read.cgi/tech/1329512856/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.78【環境依存OK】
toro.2ch.net/test/read.cgi/tech/1331894668/

■長いソースを貼るときはここへ。■
 codepad.org/
 ideone.com/

491 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 00:29:39.31 ]
>>490
例外未対応の処理系ならabortへ直行

492 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 00:35:15.99 ]
GoogleならSTLに頼らない独自の配列クラスとか作ってるらしい

493 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 00:44:25.22 ]
>>491
やっぱそうか。ありがとう。

494 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 00:45:33.18 ]
まあヌルポにアクセスしちゃうからね

495 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 00:46:14.25 ]
>>476
んなこたーない。

496 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 07:20:19.34 ]
ヌルポは必ず 0 だよ
ビット表現が ~0 だろうが
ソース上は必ず 0 で表現する
だから >>476 はあり得ない
というか (void*) 付きの NULL は C++ じゃなくて C だし
>>476 は無茶苦茶やで

497 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 07:29:48.78 ]
~ヌルポ

498 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 10:50:31.28 ]
ソースコード上のポインタリテラルの0はNULLとして扱われるが
内部表現が0(0番地)とは限らない

//OK
int* p = 0;
delete p;

//NG ただし殆どの環境で問題は起こらない
int n = 0;
int* p = reinterpret_cast<int*>(n);
delete p;

499 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 11:32:04.45 ]
そんなもん知ってる



500 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 12:16:01.43 ]
C FAQ 読め。んで、そこに書いてあることは繰り返し書かなくていい。
www.kouno.jp/home/c_faq/c5.html

501 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 12:30:10.64 ]
それCや

502 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 12:57:36.36 ]
規格票読んでもこの点に付いては同じ

503 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 13:01:32.98 ]
規格にこだわる人に限ってたいしたプログラムを書けない

504 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 13:02:29.84 ]
○○○さんのことかー

505 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 13:08:12.51 ]
deleteするのとNULLを代入するのとどう違うんだよ

506 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 13:19:43.41 ]
>>503
馬鹿かお前は
規格票は無駄な議論を終わらせるためにある

507 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 13:20:03.68 ]
どこが同じなんだよ

508 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 14:39:11.68 ]
deleteしてからNULLにしなきゃいけないのはなぜ?
最初からNULLじゃ駄目なの

509 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 14:51:05.54 ]
>>508
int *a = new int(0);
delete a;
a = nullptr;

の事?それなら、

int *a = new int(0);
delete a;
a = nullptr;
... // いろいろな処理
delete a; // 重複delete

っていうのを仮にしたとしてもプログラムを落とさせないためだと思う。
でもそれやるくらいならunique_ptr使った方がいいし、これが必要な場面というと
「もしかしたらコードの中途半端な所でメモリ削減のためにdeleteする場合があるけど最終的な終了場面でもdeleteしたい」
っていうそうとうトリッキーで可読性の低い時だから推奨は推奨はしない。



510 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 14:51:43.63 ]
誤字まくりだけど気にしないで。

511 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 15:16:43.24 ]
>>505 >>508
GCの話・・・なわけないよな

512 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 00:39:38.16 ]
>>400
>メモリー不足→new_handler作動→リザーブが足りない→newが例外を出さない→newが0を返す?→異常終了
ないわwwwwww
newが例外をスローせずに0を返すのはset_new_handler(0)とした場合(ハンドラ無し)であって
set_new_handler()に有効なnew_handlerを設定すれば、メモリ確保に成功するか、
new_handlerから例外を投げるかするまでnew_handlerが繰り返し呼ばれるのじゃ

というわけでど素人相手に潰れた漏れの土日を返せよ;

ま、漏れの意見を潰したければ、>369の無駄な複雑さに噛み付くべきであった

513 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 00:47:51.29 ]
>>422
Fooがバグっていたとして、叫ぶことになるのがFooの作者とは限らん
ていうか、std::vector<T>にしても、コンストラクタからTのコンストラクタが呼ばれるわけだが、
その中で例外が発生した場合ときリークしないことが仕様で謳われてるっけ?
いちおうVS2008ではリークしないみたいだけど、ようわからんので>376への回答は避けといた

514 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 01:07:08.93 ]
>>512
> newが例外をスローせずに0を返すのはset_new_handler(0)とした場合(ハンドラ無し)であって

そんな動作しません。

set_new_handler(0) はデフォルトのハンドラを指定していることになるので、普通に bad_alloc が飛ぶ。

515 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 02:06:07.06 ]
>>513
> Tのコンストラクタが呼ばれるわけだが、
> その中で例外が発生した場合ときリークしないことが仕様で謳われてるっけ?

new TでTのコンストラクタが例外を投げたらTのために確保されたメモリは解放される。
new T[x]でどこかの要素の構築中にTのコンストラクタが例外を投げたら構築済みの要素のデストラクタが呼ばれ確保されたメモリは解放される。
ただしTの内部でコンストラクタの中断でリークがおきるならそれはリークする。

516 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 02:12:02.44 ]
>>513
>リークしないことが仕様で
リークしたらバグ
リークしないためのRAII
ideone.com/Z52HM

517 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 06:27:50.13 ]
>>512
お前が例外出さない方法があるって言ったから提示してくれた案だろ
痴呆かよ

518 名前:513 mailto:sage [2012/06/01(金) 06:36:18.11 ]
しつれい ×: >376 ○: >378

>>514
ありゃ確かにそうかも、、、
// (main()の冒頭で)
std::new_handler prevHandler = std::set_new_handler(foo);
std::cout << "p=0x" << prevHandler << std::endl; // p=0x00000000



519 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 06:39:59.13 ]
>>517
>お前が例外出さない方法があるって言ったから提示してくれた案だろ
┐(´ー`)┌
気持ちは有難いが、規格準拠じゃない挙動を案と言われても困るな、、




520 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 06:51:04.78 ]
ということで結局メモリー枯渇したらnewで例外は避けられん訳だ

521 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 07:25:18.44 ]
nothrowしろよ

522 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 08:15:17.43 ]
例外安全にするかabortだろ
NULL返す意味ねーよ

523 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:10:18.87 ]
C++で背景画像とロゴ画像が二つ作ってあるときに
ロゴ画像のロゴ以外の部分(何も無い余白部分)を透明にして
ロゴ画像の何も無い部分には背景画像が映るようにするにはどうしたらいいんですか?

524 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:13:12.39 ]
>>523
画像を二枚読んで合成する。
具体的には、
ロゴ画像のとある位置の色が透過色だったら背景色を出力バッファに書き込む。
透過色じゃなかったらロゴの色を出力バッファに書き込む。

それだけ。

525 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:30:01.46 ]
だからそのやり方を(ry

526 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:36:08.00 ]
分かってない人に分かり難く言っても絶対分からない

527 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:38:55.07 ]
む〜。これ以外にどう説明しようか。

>>524
画像を読むときはファイルオープンして画像フォーマットにそって画素データを読み込む。
画像ファイルフォーマットは数多にあるので対象になるものをググれ。
後は画素を比較して出力バッファに書き込むだけなんだが・・・。

コードがほしいなら宿題スレでお願いしてみるのがいいかもしれん。
あんまりいい方法じゃないけどな。


528 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:41:38.98 ]
>>523の内容だけじゃ
>>524ぐらいしか言えないだろw

APIも画像フォーマットも謎なんだし

529 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:43:34.01 ]
できるだけプラットフォーム非依存にするならDeVILで読み込んでOpenGLのテクスチャにして
合成はOpenGL側でやるとかか



530 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 11:19:10.19 ]
>>528
用件が解決する方法であればなんでもいいだろ
客先で「画像形式は?」「API使います?」なんて聞くエンジニアは見たこと無い
指定が無いなら勝手に決めればいいこと

531 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 11:22:53.98 ]
>>526
このスレではよくあること
理解してても他の人の説明聞くと「えっ?」ってなる

532 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 11:23:40.51 ]
何で客に聞く話になるんだよwアホ杉だろw

533 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 11:31:27.28 ]
質問もせずに独断で決めるエンジニアとか嫌だ
同じチームなら困る

534 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 11:59:26.97 ]
画像形式ぐらいさすがに聞くだろ…

535 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 12:51:38.25 ]
暇でしょうがないから突貫で作ったよ。3時間ではこれが限界。
ttp://www1.axfc.net/uploader/File/so/79537.zip&key=2ch

もっと手を抜くつもりだったけど思ったよりかかってしまった。
画像形式はPGMテキストだ!まさに外道。

我を崇めよ〜〜〜。はっは〜〜。

536 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 13:21:30.92 ]
カスだった

537 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 13:36:25.45 ]
>>536
よく言った。その功績を讃えてすごいサンプルを作る義務をあげるよ。
たのんだよ〜。

538 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 13:38:30.63 ]
ヘッダーに定義を書くなよ

539 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 13:46:27.56 ]
>>538
テンプレート書いてた時の癖でベタ書きしてしまう。
手抜きの意味もあるんだが、正直スマンカッタ。



540 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 15:29:52.12 ]
なにもしないやつほど文句を言う典型例

541 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 16:48:21.33 ]
突貫としても低レベル過ぎ

542 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 19:23:02.02 ]
>>538
今は、ヘッダー別のプリコンパイルドヘッダーも
あって速度も速いんだからいいじゃねぇか

543 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 00:03:30.05 ]
>>542 そういう問題じゃないだろ。

544 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 02:49:02.35 ]
>>541
腕がないのはしょうがない。仕様だ。
処理が低級っていうだったら、概念を説明出来ればいいかなと割り切ったんだよ。

ま、高尚なライブラリは俺がドキュメント読めなくて使えないんだけどね。
お、俺にもっと能力をくれ・・・。

545 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 04:07:18.14 ]
胸がないのはしょうがない。仕様だ。

546 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 04:09:06.20 ]
>>545
きょぬー甘え。

547 名前: ◆QZaw55cn4c mailto:sage [2012/06/02(土) 04:34:28.04 ]
>>545
賓乳萌え

548 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 10:53:04.80 ]
貧乳が好きなのは肉体労働者だそうです
頭脳労働者はグラマーが好きな傾向が高いです

549 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 12:15:53.19 ]
プログラマーと言いたいようだから先に言っておこう



550 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 12:21:02.95 ]
数学者はたぶん虚乳が好き。

551 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 12:21:38.68 ]
このスレおやじばっかw

552 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 12:24:48.04 ]
わてはピチピチの女子高生でおまんがな

553 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 13:54:10.94 ]
>>551
オヤジはプログラマなんて出来ないよ
連日徹夜でしかも頭の柔らかさを必要とするIT土方だから、定年が35才と言われている
それまでに管理職に移動出来ないと悲惨な人生が待っている

554 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:03:52.76 ]
>>553
確かに力づくでコーディングしている人は体力がなくなると終わりだが、
センスや技術がある人はいくつになってもプログラマできるよ。


555 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:40:55.85 ]
センスも技術も年で劣化するから・・・

556 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:52:31.83 ]
プログラマ35歳定年説とか
ただのヘボプロブラマだけの話だよ

557 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 17:09:55.44 ]
経験豊富になってダメな囲い込み技術の(未来のどん詰まり具合を)見抜けるようになると
その日の飯の種を拾う(3年後には)無駄/死亡と判りきってる学習が億劫に成っちゃうからねー

ケツの軽い若い時期しか無理ってのは確かだと思うよ

558 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 17:12:13.66 ]
マ板でやれ

559 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 18:14:27.03 ]
>>556
お前プログラマじゃないだろ・・・



560 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:05:05.40 ]
>>559
プログラマだよ
まだ35じゃないけど

561 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:13:26.54 ]
>>555
センスも技術も年で劣化するからダメというのなら、
どんな職業も35歳で定年だな。


562 名前:デフォルトの名無しさん [2012/06/02(土) 19:14:14.71 ]
クラスを配列に動的に確保したいんですが
hoge *h;
h = new hoge(int ho)[size];
とかだとコンストラクタの引数を変えれないので
*(h+1) = new hoge(int ho);
*(h+2) = new hoge(int ge);
みたいにできないでしょうか

563 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:21:04.50 ]
別にコンストラクタを使わなあかんゆう決まりはないんやで

564 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:27:14.73 ]
コンストラクタでなくても
parent *h;
h[0] = new child1();
h[1] = new child2();
みたいな使い方がしたいんです

565 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:29:43.99 ]
いや、h[0].init(ho); やあかんのん?

どうしても new したいのなら boost::ptr_vector<T> でも使っとき
C++11 なら std::vector<std::unique_ptr<T>> でもええけど

566 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:33:32.17 ]
>>562
std::vector<hoge> h;
h.reserve(size);
h.push_back(hoge(ho));
h.push_back(hoge(ge));
...

567 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:36:28.00 ]
>564 ttp://ideone.com/Q0B7n

568 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:53:32.36 ]
>>565-567
ありがとうございます、試してみます

569 名前: ◆QZaw55cn4c mailto:sage [2012/06/02(土) 20:19:43.25 ]
>>548
へーそうなんだ、なして?



570 名前:デフォルトの名無しさん [2012/06/02(土) 21:45:33.58 ]
Java使いで、C++初心者です。
C++でも、
xxx.method(new A());
と書けると思うんですが、
この場合、Aのインスタンスのdeleteは、
どこですべきなのでしょうか?
method内ですると、
A *a = new A();
xxx.method(a);
のときにもdeleteされてしまい、その後使えなくなってしまいます。

C++では、
xxx.method(new A());
という使い方はよくないのでしょうか?


571 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:49:42.82 ]
うん。良くない。unique_ptrとかshared_ptrを使うべき。

572 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:58:36.41 ]
そもそもmethod側がnewすべきじゃね

573 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 22:19:09.09 ]
っていうかぁー。
Javaはすべてのオブジェクトをnewで生成するけど、
C++はnewでオブジェクトと生成するのは
「スコープを私(プログラマ)が管理しますよ」って宣言するのとほとんど同義なのでー
生成した人が、破壊を管理しないといけないんですよー。

で、xxx.methodの中で破棄するなら、
それは生成と破棄をxxxが管理すべきですしー
xxx.methodを呼び出す側が生成しているなら、破棄も呼び出す側の責任ですしー
もしくは、A自身が己の破棄を自前で行うよう設計する必要があるわけですよー。

…タブンネ。

574 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 22:20:16.71 ]
Decorator とか Builder とか Strategy とか


575 名前:570 mailto:sage [2012/06/02(土) 22:44:41.62 ]
shared_ptrを使えば、deleteしなくていいみたいなので、
Java感覚でできるということですね。
>>571さんありがとうございました。


576 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 23:01:03.29 ]
Java感覚でプログラミングしたら
C++使う意味ないね

577 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 23:16:06.28 ]
基本はconst参照か右辺値参照でどうにかする事を考えるみたいなのがC++極右

578 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 23:20:47.09 ]
うっへんち参照はライブラリ(コンテナ)設計者以外はあんまし考えなくていいみたいよ?
ライブラリが正しく設計されていると、その利用者は右辺値参照について考慮しなくて済む。

579 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 01:18:34.69 ]
>>572
method関数がnewするなんてどこに書いてあった?



580 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 08:22:12.26 ]
C++は自動ガベージコレクションしてくれたりしないのでJavaみたいにnew/deleteを乱発してると
そのうちメモリが断片化してbad_alloc例外飛ばされるぞ

581 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 08:23:50.71 ]
GCと断片化に何のつながりが

582 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 08:25:37.74 ]
コピーガベージコレクションならコンパクションかけられると言いたいんだろ

583 名前:デフォルトの名無しさん [2012/06/03(日) 08:44:04.41 ]
g++でgprofの使い方がイマイチ分からん。
何かいいリファレンスかサイトある?
特にclassのメソッドをよく使っているプログラムで解析しやすい方法が知りたい。

584 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 08:45:23.25 ]
あとついでにインライン展開を止める方法も。

585 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 09:42:01.37 ]
>>584
___attribute( 何か )___ で止められたはず
何かは、何だったか忘れた volatileだったかnoinlineだったかそんな感じだったはず

586 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 12:51:55.87 ]
GLSLシェーダやOpenCLカーネルのような実行時にコンパイルされるソースコードを
main.cpp等のファイル内に簡単に埋め込む方法はないでしょうか。
現在はchar型配列に

char data="int main(){..."

上のように書き込んでいますが見にくいので・・・(改行ごとにバックスラッシュを入れています)
boostや標準機能の中でもっと綺麗に書く方法があればご教示お願いします。

587 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 12:56:38.80 ]
ある

588 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 12:59:33.93 ]
>>586
std::stringを返す専用の引数なし関数にキックするとか。

589 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 13:00:14.86 ]
>>586
エスケープ済みの別ファイルsource.cppとか
作ってmainで#include"source.cpp"じゃだめなんけ
source.cppは、cl.cppみたいな別ファイルにソース書いといて
置換コマンドで、\,"を\\, \"に置き換えるだけ



590 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 13:31:19.36 ]
>>587,588,589
レスありがとうございます。
>>588
string型を返す専用関数で少しうまい方法を考えて見ます。
>>589
ヘッダのように別ファイルに書き込んで置換、というのは一度やってみたのですが
次の2点から少し敬遠していました。

・IDE上に並ぶファイルが増える。
・友人にコードを渡すときにヘッダが増殖する(lib化しろ、というのは最もなのですがWinとMac・・・)

588さんの書き込みを見ていろいろ探していたところ、
string tmp=STRINGIFY(int main(){...);
のような書き方をしているコードを見かけたので中を調べてみます。

皆様すぐにレスしていただきありがとうございました。

591 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:13:54.22 ]
構文エラー : ';' が '*' の前にありません。
と出てしまいます。エラー場所はこれだと思うのですが、文法が間違っているのかよくわかりません。

class Cabc{
 Cbdf* bdfaddr;
public:
 Cabc(Cbdf*);
};

Cabc::Cabc(Cbdf* tmp):bdfaddr(tmp){}

class Cbdf{
 Cabc* abc;
private:
 Cbdf(){abc = new Cabc(this)}
};






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<202KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef