■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
C++相談室 part36
751
名前:
デフォルトの名無しさん
:04/10/17 18:16:56
snprintf にして、戻り値もチェックすれば OK?
752
名前:
デフォルトの名無しさん
:04/10/17 19:32:17
文字の前に@を付けるにはどうしたらいい?
例えば
こんにちは
おはよう
と書き込んで変換したい場合
@こんにちは
@おはよう
見たいな感じで開いてるTXTファイルに書き込み
C++でサンプルソース作って下さい。
753
名前:
デフォルトの名無しさん
:04/10/17 19:34:36
>>752
こっちのほうが適切では?
【初心者歓迎】C/C++室 Ver.10【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1097416187/
754
名前:
デフォルトの名無しさん
:04/10/17 19:38:47
>>752-753
自演乙
755
名前:
752
:04/10/17 19:56:13
自己解決しますた。
756
名前:
デフォルトの名無しさん
:04/10/17 20:16:20
次スレからGotWをテンプレに加えないか?
http://www.gotw.ca/
757
名前:
デフォルトの名無しさん
:04/10/17 20:23:13
Stroustrup が禿なら、Sutter は髭だな
758
名前:
デフォルトの名無しさん
:04/10/17 20:27:02
Sutter はあんまり話題にあがらないけどな
759
名前:
デフォルトの名無しさん
:04/10/17 20:33:56
去ったんだろ
760
名前:
デフォルトの名無しさん
:04/10/17 20:42:31
この秋一番の寒波
761
名前:
デフォルトの名無しさん
:04/10/17 20:45:55
>>759
>>759
>>759
>>759
762
名前:
デフォルトの名無しさん
:04/10/17 20:46:40
Scott Meyersはフサフサか
763
名前:
デフォルトの名無しさん
:04/10/17 20:47:37
>>759
おもしろい
764
名前:
デフォルトの名無しさん
:04/10/17 20:54:46
>>763
>>763
>>763
>>763
765
名前:
デフォルトの名無しさん
:04/10/17 21:02:18
>>762
フサフサ過ぎるくらいだな
ttp://www.aristeia.com/images/sdm-big.jpg
766
名前:
デフォルトの名無しさん
:04/10/17 21:37:26
まつもと >>>>>>>>>>>>>>>>>>>>> ScottMeyeyeyers
767
名前:
デフォルトの名無しさん
:04/10/17 22:35:21
だれ、まつもとって?
768
名前:
デフォルトの名無しさん
:04/10/17 22:38:30
松本コンチータだろ
769
名前:
デフォルトの名無しさん
:04/10/17 23:16:02
>>759
はこの秋一番の豊作
才能を感じる
世界の中心で
愛を酒奉行
770
名前:
デフォルトの名無しさん
:04/10/18 00:52:09
Scott Meyersってもっと年食った人かと思ってたよ。ちょっとビックリ。
771
名前:
デフォルトの名無しさん
:04/10/18 01:07:48
おいらもびっくり
772
名前:
デフォルトの名無しさん
:04/10/18 01:12:56
ブラウンがお気に入りなんですな
773
名前:
5
:04/10/18 01:22:59
ifsream in("test.dat");
string line;
while( !in.eof() )
{
getline(in, line);
if( lineが1個以上の空白文字のみからなるとき飛ばす条件 ) continue;
}
のようにtestファイルから行単位で読み込む時、1個以上の空白文字
のむを含む行の処理をとばすにはどうすればいいのでしょうか?
774
名前:
デフォルトの名無しさん
:04/10/18 01:45:30
>>773
line.find_first_not_of(' ', 0) == std::string::npos
775
名前:
デフォルトの名無しさん
:04/10/18 01:46:44
>>773
if (find_if (line.begin (), line.end (), bind2nd (not2 (equal_to <char> ()), ' ')) == line.end ())
かな?
776
名前:
775
:04/10/18 01:48:58
>>774
へぇ〜そんなメンバ関数があったんだ
777
名前:
デフォルトの名無しさん
:04/10/18 01:53:27
>>776
実はさっきちょうどトーカナイザの実装をしていて、そのメソッドの文字列を
タイピングしていたところだったりする。
778
名前:
773
:04/10/18 03:28:47
test.datが秀丸からみて
sum 5.0 3.0↓
sub 3.0 5.0↓
sum 4.0 2.0↓
sub 3.0 12.0↓
[EOF]
の場合はうまくいくんですが
sum 5.0 3.0↓
sub 3.0 5.0↓
sum 4.0 2.0↓
sub 3.0 12.0↓
↓ ここに関連する処理をお二人に教えてもらった方法で飛ばせるかどうかやったのですが駄目でした。
[EOF]
根本的に実装方法が悪いのかな
779
名前:
デフォルトの名無しさん
:04/10/18 03:38:18
>>778
それ「1個以上の空白文字」ないじゃん
780
名前:
デフォルトの名無しさん
:04/10/18 03:43:37
>>778
while(getline(in, line))
{
if (line.find_first_not_of(' ', 0) == std::string::npos)
continue;
}
781
名前:
773
:04/10/18 04:12:49
>>779
sum 5.0 3.0↓
sub 3.0 5.0↓
sum 4.0 2.0↓
sub 3.0 12.0↓
↓ とか一マス以上あけても同じです、cygwinGCC使ってるんですがそのせいでしょうか。
[EOF]
782
名前:
デフォルトの名無しさん
:04/10/18 04:25:26
>>781
780
783
名前:
デフォルトの名無しさん
:04/10/18 07:01:27
今C++を勉強しています。
教則本をみながらやっているのですが、ウィンドウを作成するにもHINSTANCEやらよくわからない型がでてきます。
こういう教則本のソースなどは、隅々まで理解する必要がないのでしょうか。
とりあえず、コンパイルして(例えば)CreateWindowはどういう働きをするのかなどが理解できれば先に進んでもいいんですかね?
784
名前:
デフォルトの名無しさん
:04/10/18 07:19:06
>>783
あなたが勉強しているのはWindowsAPI。
言語の勉強と環境の勉強をごっちゃにして混乱されぬよう、気をつけられよ。
ちなみにここはC++スレ、質問はWindowsAPIでスレ違いにて、あしからず。
こちらなどを伺われよ。
http://pc5.2ch.net/test/read.cgi/tech/1095534704/
785
名前:
デフォルトの名無しさん
:04/10/18 07:25:20
それC++ちゃう。Win32 APIや! だから、スレ違い!
んで、Win32 APIの関数はMSDNで調べるといいよ
786
名前:
デフォルトの名無しさん
:04/10/18 07:40:04
ご指摘ありがとうございます。
スレ違いでしたか…すみません。
わからない関数があるときはMSDNで調べればいいわけですね。
>>784
さんのスレも一通り読んで見ます。
ありがとうございました。
787
名前:
デフォルトの名無しさん
:04/10/18 09:38:41
stricmp("AAA","aaa")
をC++流に書くとどうなるのですか?
788
名前:
デフォルトの名無しさん
:04/10/18 10:03:59
>>787
まずはパラメータの個数と型を正しくする。
789
名前:
788
:04/10/18 10:08:11
>>787
あーごめん、strncmp()かと思ったよ。stricmp()なんて非標準関数持ち出すとは思わなくてね。
で、その関数の仕様は?
790
名前:
デフォルトの名無しさん
:04/10/18 10:22:44
>>788
stricmpのどこが非標準なのかと小一時間・・・
791
名前:
デフォルトの名無しさん
:04/10/18 10:26:54
>>790
はぁ?
792
名前:
787
:04/10/18 10:52:14
>>789
大文字は小文字としてstrcmpをしてくれます。
stricmp("AHO","aho") == 0 となります
793
名前:
デフォルトの名無しさん
:04/10/18 15:39:37
>>783
プログラミングの前に、まずは適切なスレを見分ける能力を養え。
794
名前:
デフォルトの名無しさん
:04/10/18 18:57:36
問題の切り分けなんて、本を読んだり実際にプログラムを読み書きしながら学んでいくしかないだろ。
795
名前:
デフォルトの名無しさん
:04/10/18 22:03:40
com研究所のURL教えれ
796
名前:
デフォルトの名無しさん
:04/10/18 22:06:30
>>790
stricmpは規格にない。それだけで十分だろう。
797
名前:
デフォルトの名無しさん
:04/10/18 22:07:27
>>796
ここはC++のスレだぞ。
stricmpはCにはないがC++にはある。
798
名前:
796
:04/10/18 22:15:16
>>797
ISO/IEC 14882:1998にはないが何か?
799
名前:
デフォルトの名無しさん
:04/10/18 22:17:26
com研究所のURL教えれ
800
名前:
デフォルトの名無しさん
:04/10/18 22:48:52
800ゲットですが何か?
801
名前:
デフォルトの名無しさん
:04/10/18 22:58:23
やおいゲット!!
802
名前:
デフォルトの名無しさん
:04/10/18 22:59:15
そうはいっても、gccにはあるみたいだね。
snprintfと似たような状況だね。
snprintfが標準になる日は何時だろう・・・。
つか普通の開発じゃsprintf()禁止令出るもんだし、はやく標準にしてもらいたい。
803
名前:
デフォルトの名無しさん
:04/10/18 23:01:25
stricmpか
localまで考え出すとキリが無いわな
804
名前:
デフォルトの名無しさん
:04/10/18 23:02:21
>>802
あれだ、stringstreamを頑張って使え
805
名前:
デフォルトの名無しさん
:04/10/18 23:06:15
まっ、糞みてーなライブラリだけど、boost::formatでも使っとけ
806
名前:
カナガワ
:04/10/18 23:42:04
MDIを使ったアプリケーションで、チャイルドフレームをSDIのように扱う方法はありませんか?
807
名前:
デフォルトの名無しさん
:04/10/18 23:51:59
>>803
まさか locale と間違えてたりする?
808
名前:
カナガワ
:04/10/19 00:03:54
MDIを使ったアプリケーションで、チャイルドフレームをSDIのように扱う方法はありませんか?
809
名前:
デフォルトの名無しさん
:04/10/19 00:12:33
>>807
てへ
810
名前:
デフォルトの名無しさん
:04/10/19 00:13:56
>>802
gccにあるだけで標準扱いかよ。
ウンコ野郎だな
811
名前:
796
:04/10/19 00:49:37
>>802
ま、C99には入っているし、C++の改定で入る予定では
あるみたいだけれども。
"will likely be in C++0x"
ttp://gotw.ca/publications/mill19.htm
812
名前:
カナガワ
:04/10/19 01:34:12
MDIを使ったアプリケーションで、チャイルドフレームをSDIのように扱う方法はありませんか?
813
名前:
デフォルトの名無しさん
:04/10/19 01:43:31
ない
MSの伝統
814
名前:
デフォルトの名無しさん
:04/10/19 01:43:45
ない
815
名前:
デフォルトの名無しさん
:04/10/19 20:44:14
int* p = new int();
std::cout << *p << std::endl;
std::cout << int() << std::endl;
VC6SP6
どちらも0になると思ったのですが、newの方は非0になりました。
(デバッグモード・リリースモードどちらも同じ結果でした)
C++的にこれは正しいのでしょうか?
816
名前:
デフォルトの名無しさん
:04/10/19 21:05:13
>>815
正しくないです。
"If the new-initializer is of the form (), default-initialization shall be performed"
(5.3.4 New -15- より)
817
名前:
815
:04/10/19 21:09:06
>>816
ありがとうございます。
VC6を窓から投げ捨てようと思います。
818
名前:
デフォルトの名無しさん
:04/10/19 21:16:26
C++使いたいならVC6は使うなっていうやりとりをもう何回も見てきたが、
いっそのことテンプレにでもいれたらどうなんだ?
819
名前:
デフォルトの名無しさん
:04/10/19 21:26:54
会社の事情でVC6を使わざるを得ない人もいるのよ。
820
名前:
デフォルトの名無しさん
:04/10/19 21:37:24
ARM 仕様の処理系を ISO/IEC 14882 で論じるバカどもがまた蛆虫のように涌いて出てるな
821
名前:
デフォルトの名無しさん
:04/10/19 21:48:32
1.start_engine
2.StartEngine
3.startEngine
みなさんは 1, 2, 3 のどのスタイル使ってますか?
自分はスタイルがAPIやSTLとかぶらないように
Java風な3を使ってるんですが、正直美しいとは
思えませんです。他に何かいいスタイルありますかね…?
822
名前:
デフォルトの名無しさん
:04/10/19 21:50:16
>>819
だから、VC6はC++じゃないからあきらめろ、っつーかこのスレに来るな、ってことでしょ。
VC6が悪いんであって、VC6を使う人は悪くないよ。念のため。
823
名前:
デフォルトの名無しさん
:04/10/19 21:54:30
>>821
ここでやる話ではない。むしろ、ここでやってはいけない話かもしれない。
824
名前:
デフォルトの名無しさん
:04/10/19 21:56:51
識別名のつけ方は、パラダイムや言語の特徴に依存する面もあるから、いいんじゃないか?
825
名前:
デフォルトの名無しさん
:04/10/19 21:57:15
>>821
3でいいと思うよ。2だとクラス名で被るし、1だとタイプ数が増える
826
名前:
デフォルトの名無しさん
:04/10/19 21:58:14
>>821
どのスタイルというよりコーディング基準に従うだけだ
はっきり言われてなくても周り乖離しないように気をつけてる
827
名前:
デフォルトの名無しさん
:04/10/19 22:45:22
>>821
(メンバ)変数は1
(メンバ)関数は2
3は最近知ったから,特に使ってなかったけどどっかに使おうかなぁと考え中
まだ社会に出てないお子ちゃまなので参考にはならんだろうけど
828
名前:
デフォルトの名無しさん
:04/10/19 23:10:22
>>827
社会に出るまでにスタイルを統一しなさい
829
名前:
デフォルトの名無しさん
:04/10/19 23:19:26
>>828
社会に出ればスタイルの統一なんて自分の一存ではできないだろ。
「統一しなさい」なんて言ってできるわけない。
830
名前:
デフォルトの名無しさん
:04/10/19 23:32:59
なにいってんだ
831
名前:
827
:04/10/19 23:36:26
>>828
いや、一応↑で統一してるんだけども…
でも
>>825
のクラス名と被るの言い分は納得。
もう一度洗いなおしてみるかな。
コーディング規約スレもっと伸びないかな
ああいう情報もっと欲しいYO
832
名前:
デフォルトの名無しさん
:04/10/19 23:39:15
くだらねえんだよ
833
名前:
デフォルトの名無しさん
:04/10/19 23:52:19
ねぇ、C++を作ったってどういうこと?
一体Bjarne Stroustrup 彼は何を作ったの?
834
名前:
デフォルトの名無しさん
:04/10/19 23:55:00
C++の基本的言語仕様を作った。
835
名前:
デフォルトの名無しさん
:04/10/20 00:06:39
ちょっと待て。
>>815
そのコードはDebugビルドで実行していないか?
もしそうならReleaseビルドだとどうなる?
836
名前:
デフォルトの名無しさん
:04/10/20 00:10:36
>>835
よく見ろ。
837
名前:
デフォルトの名無しさん
:04/10/20 00:16:48
がーん
838
名前:
デフォルトの名無しさん
:04/10/20 00:20:39
>>837
フフフフフフフフフフフフフフフフフフフフフフ
839
名前:
デフォルトの名無しさん
:04/10/20 00:24:24
「フ」が10こ(ぐらい)で豆腐
なーーんちゃって!
840
名前:
デフォルトの名無しさん
:04/10/20 00:25:22
全米が泣いた
841
名前:
デフォルトの名無しさん
:04/10/20 00:33:43
ふとんがふっとんだーーー!!
842
名前:
デフォルトの名無しさん
:04/10/20 00:37:11
ふっとんだのはふとんですか?
843
名前:
デフォルトの名無しさん
:04/10/20 01:05:10
ふっとんだのはぬるぽです
844
名前:
デフォルトの名無しさん
:04/10/20 01:08:22
グーでガッしていいですか?
845
名前:
デフォルトの名無しさん
:04/10/20 01:08:28
ぶどうがぶっとんだ
846
名前:
デフォルトの名無しさん
:04/10/20 01:15:49
ぶっとんだのはぶどうですか?
847
名前:
デフォルトの名無しさん
:04/10/20 01:43:34
ふっ飛ばしたのは台風ですが。
なんかネタないんかい。
848
名前:
デフォルトの名無しさん
:04/10/20 07:20:34
おまいら夜は激しいですね
849
名前:
デフォルトの名無しさん
:04/10/20 10:36:36
激しいのは夜だけですか?
850
名前:
デフォルトの名無しさん
:04/10/20 11:12:00
(*´ー`)漏れはまだまだ若いさ
851
名前:
デフォルトの名無しさん
:04/10/20 13:25:43
http://pc5.2ch.net/test/read.cgi/tech/1097880265/
から誘導されてきました。
#include <memory>
struct A { virtual ~A() {} };
class B : public A {};
class C : public A {};
int main(int argc, char* argv[]) {
int i = 0;
std::auto_ptr<A> p(i == 0 ? new B : new C);
return 0;
}
VC++6SP6 。このコードをコンパイルすると
error C2446: ':' : 'class C *' 型から 'class B *' 型への変換ができません。指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
error C2664: '__thiscall std::auto_ptr<struct A>::std::auto_ptr<struct A>(struct A *)' : 1 番目の引数を '' から 'struct A *' に変換できません。
と出ます。理由がわかりません。何が間違っているのでしょうか?
852
名前:
デフォルトの名無しさん
:04/10/20 13:41:16
i == 0 ? new B : new C の結果は何型?
853
名前:
851
:04/10/20 13:46:52
>>852
B*ですよね?
でauto_ptr<A>のコンストラクタの引数の型はA*だからそのまま渡せると思うのですが。
std::auto_ptr<A> p2(new B);
が通るので正しいはずですよね?
もしかして私何か勘違いしてますか?
854
名前:
デフォルトの名無しさん
:04/10/20 13:54:12
>>853
じゃi = 1なら
i == 0 ? new B : new C の結果はC*かい?
そうすると「?:」は返り値の方がダイナミックに変わる演算子ってことになるけど
855
名前:
デフォルトの名無しさん
:04/10/20 14:04:09
>853
コンパイラは x ? y : zという演算の型を,
yとzの型を元にいくつかの複雑なルールに従って決めようとします.
そしてyとzの型が関係の無い型のポインタ型であるときには,
この演算結果の型を決めることが出来ずコンパイルエラーとなります.
ちなみにあなたがやりたいことは以下で出来ます.
i == 0 ? (A*)new B : new C
856
名前:
851
:04/10/20 14:15:19
>>854-855
ああなるほどよくわかりました。
今まで何気なく?:を使ってたんですが、今回のようなことは気付きませんでした。
ありがとうございました。
857
名前:
デフォルトの名無しさん
:04/10/20 16:59:20
C++って言語じゃないのか
858
名前:
デフォルトの名無しさん
:04/10/20 17:42:11
>>857
C++はプログラミング言語だが何か。
859
名前:
デフォルトの名無しさん
:04/10/20 17:57:11
すいません、質問です。下のプログラムを g++ -Wall でコンパイルすると
T.cc:9: warning: `struct NonVirtualClass' has virtual functions but non-virtual destructor
って怒られるんですが、原因が理解できません。
~X(){} がなければ怒られないのですが・・・
ちなみに g++ のバージョンは 3.3 です。
struct X {
~X() {}
};
struct VirtualClass {
virtual void Method() = 0;
};
struct NonVirtualClass : VirtualClass {
X m;
void Method() {}
};
860
名前:
デフォルトの名無しさん
:04/10/20 17:59:07
>>859
つEffective C++
861
名前:
デフォルトの名無しさん
:04/10/20 18:00:27
>>859
g++は警告出してくれるんだ・・・やさしいなぁ・・・。
862
名前:
デフォルトの名無しさん
:04/10/20 18:06:45
>>859
つ[英和辞典]
863
名前:
デフォルトの名無しさん
:04/10/20 18:07:55
>>859
つI
864
名前:
デフォルトの名無しさん
:04/10/20 18:08:41
struct X {
virtual ~X() {}
};
865
名前:
デフォルトの名無しさん
:04/10/20 18:11:57
>>864
struct VirtualClass {
virtual ~VirtualClass() {}
virtual void Method() = 0;
};
仮想デストラクタが必要なのはこっちだろ。
866
名前:
859
:04/10/20 18:14:46
>>865
ありがとうございました!
867
名前:
デフォルトの名無しさん
:04/10/20 18:56:00
>>864
アホだ
868
名前:
デフォルトの名無しさん
:04/10/20 19:06:11
おい、ちょっとまて。
>~X(){} がなければ怒られないのですが・・・
これどーゆーいみよ。
869
名前:
デフォルトの名無しさん
:04/10/20 19:37:42
>>868
クラスじゃないからだろ。
870
名前:
デフォルトの名無しさん
:04/10/20 21:27:10
>>869
~X() があればクラスだっていうのか?
871
名前:
デフォルトの名無しさん
:04/10/20 21:40:55
うまくつながってないんじゃ?
872
名前:
デフォルトの名無しさん
:04/10/20 22:28:54
>>868
~X() があると NonVirtualClass にもコンパイラによって自動的にデストラクタが作成される。
おそらくg++はこの暗黙のデストラクタをvirtual指定無しとして扱って件の警告が出るのではないかと。
873
名前:
デフォルトの名無しさん
:04/10/20 22:56:24
>>872
デストラクタのあるメンバを置いただけでも警告が出るようになるな。
12.4 Destructors の -3- -4- に従って
non-trivial なデストラクタを持つかどうかが警告の出る条件になるんだろう。
874
名前:
デフォルトの名無しさん
:04/10/21 00:10:31
これってどうよ?
#include <iostream>
using namespace std;
class CBase
{
int m_id1;
public:
CBase(int id1 = 1):m_id1(id1){}
int GetID1() const { return m_id1; }
};
class CDerived : public CBase
{
int m_id2;
public:
CDerived(int id2 = 1):m_id2(id2),CBase(id2*10){}
int GetID2() const { return m_id2; }
};
class CFactory
{
protected:
CFactory(){}
public:
static CBase* GetInstance(){ return new CBase(111); }
};
int main()
{
CBase* p = CFactory::GetInstance();
cout << ((CDerived*)p)->GetID2() << endl;
}
875
名前:
デフォルトの名無しさん
:04/10/21 00:15:30
>>874
意味不明
876
名前:
デフォルトの名無しさん
:04/10/21 00:17:59
>>875
初心者は口出すなよ
877
名前:
デフォルトの名無しさん
:04/10/21 00:19:21
>>876
エスパー以外は初心者か。おめでてーな。
878
名前:
デフォルトの名無しさん
:04/10/21 00:21:07
「どうよ」っていう言葉ってどうよ?
879
名前:
デフォルトの名無しさん
:04/10/21 00:23:35
>>874
「結果は未定義」が正解。
880
名前:
デフォルトの名無しさん
:04/10/21 00:24:42
ただのダウンキャストがどうかしたのか
881
名前:
デフォルトの名無しさん
:04/10/21 00:27:00
どうよもくそもねぇじゃん。
まじめに読んで損した。
882
名前:
デフォルトの名無しさん
:04/10/21 00:49:06
QueryInterface がどうだかって言いたいのか?
883
名前:
デフォルトの名無しさん
:04/10/21 01:26:07
>>874
SEGV
884
名前:
デフォルトの名無しさん
:04/10/21 06:56:31
ファクトリを持ち出したところに何か隠された意味があるのではなかろうか
885
名前:
デフォルトの名無しさん
:04/10/21 07:05:08
だめ!!もう限界。
>>874
、答えを教えてください。
886
名前:
デフォルトの名無しさん
:04/10/21 08:18:58
template<class T> T* Allocate( ptrdiff_t n, T* ) {
return (T*)operator new((size_t)n * sizeof (T));
}
こんなnewの使われ方をはじめて見たのですが、なにを表しているのですか?
動作させてみたところ、指定したサイズを確保し、コンストラクタは呼ばれないようですが。
「プログラミング言語C++第3版 」を買えばこういったことがすべて書いてありますでしょうか?
887
名前:
デフォルトの名無しさん
:04/10/21 08:32:26
>>886
通常のnew演算子で呼び出されるメモリ確保の直接呼出しです。
その本には確かに書いてあります。
888
名前:
デフォルトの名無しさん
:04/10/21 08:38:36
通常の方法ですか。どうもです
STLの中身を見ていたら上記のような疑問が山ほど出てきて一人で1000レス行きそうな勢いなので
素直に「プログラミング言語C++第3版 」で勉強してきます
889
名前:
デフォルトの名無しさん
:04/10/21 22:57:35
class Widget{ ... };
bool f( const Widget& w ){ ... }
int main(){
std::vector<Widget> v;
std::find_if( v1.begin(), v1.end(), std::not1( std::ptr_fun( &f ) ) ); //1
return 0;
}
1で、
error C2529: '_Left' : 参照への参照は無効です。
warning C4181: 参照型に適用された修飾子は無視されました。
とエラーが出てしまいます。どうすればうまくいきますでしょうか…?
コンテナを vector<Widget*> にして bool f( const Widget* w ) にすれば
ちゃんと動いたのですが、こうするしか解決方法はありませんでしょうか?
890
名前:
デフォルトの名無しさん
:04/10/21 23:05:12
そこでboostですよ
891
名前:
デフォルトの名無しさん
:04/10/21 23:06:15
そこでるbyですよ。
892
名前:
デフォルトの名無しさん
:04/10/21 23:08:04
>>889
fを関数オブジェクトに変えてmem_fun_refでいいんじゃいないの?
893
名前:
デフォルトの名無しさん
:04/10/21 23:11:12
>889
> std::find_if( v1.begin(), v1.end(), std::not1( std::ptr_fun( &f ) ) ); //1
std::find_if( v1.begin(), v1.end(), std::not1( std::ptr_fun<Widget>( &f ) ) );
これで通りませんか?試してないのでもし通らなかったらごめんなさい.
#reference to reference問題は良いい加減修正して( ゚д゚)ホスィ…
894
名前:
893
:04/10/21 23:13:46
std::find_if( v1.begin(), v1.end(), std::not1( std::ptr_fun<const Widget>( &f ) ) );
の方が適切です.すいません.
895
名前:
デフォルトの名無しさん
:04/10/21 23:20:41
>>894
レスありがとうございます
しかし
error C2784: 'std::pointer_to_binary_function<_Arg1,_Arg2,_Result> std::ptr_fun(_Result (__cdecl *)(_Arg1,_Arg2))' : 'T3 (__cdecl *)(const Widget,T2) 用のテンプレート引数を 'bool (__cdecl *)(Widget &)' から減少できませんでした。
error C2784: 'std::pointer_to_unary_function<_Arg,_Result> std::ptr_fun(_Result (__cdecl *)(_Arg))' : 'T2 (__cdecl *)(const Widget) 用のテンプレート引数を 'bool (__cdecl *)(Widget &)' から減少できませんでした。
となってしまいます…
896
名前:
デフォルトの名無しさん
:04/10/21 23:22:17
すいません.893, 894は誤りです.無視してください.
892さんが書いているようにfをファンクタにするのが良いと思います.
(mem_fun_refはいらないような?)
897
名前:
デフォルトの名無しさん
:04/10/21 23:29:38
つまり
struct Hoge : std::unary_function<Widget, bool>
{ bool operator ()( const Widget& w ) const{ return false; } };
std::find_if( v1.begin(), v1.end(), Hoge() );
ということでしょうか…?
関数ではダメですか…
898
名前:
デフォルトの名無しさん
:04/10/21 23:55:44
>>897
もし失望されているようならboostというライブラリを一度見てみることをお勧めします.
functionalというライブラリに改善されたファンクタアダプタがあります.
http://boost.cppll.jp/HEAD/libs/functional/negators.html
899
名前:
デフォルトの名無しさん
:04/10/22 00:38:37
>>874
実行したら3行目エラーでたよ
900
名前:
デフォルトの名無しさん
:04/10/22 00:41:25
boostってソースしか参考にしていない…
実際に使うには標準じゃないし。。。
901
名前:
デフォルトの名無しさん
:04/10/22 00:50:09
>>900
ばっかでーーー。
自分で使う範囲では標準など気にする必要などない。
第一、会社によってSTLすら使わせてくれない
ところがあるそうじゃないですか?俺はプログラマーじゃないから詳しくはないけど。
902
名前:
デフォルトの名無しさん
:04/10/22 01:03:55
try〜catchの形式で一般的なものは、次のうちどちらですか?
理由も合わせて述べて下さい。
■パターンA
int hoge() {
try {
int a = 0;
a = 1;
return a;
} catch(...) {
throw;
}
}
■パターンB
int hoge() {
int a = 0;
try {
a = 1;
} catch(...) {
throw;
}
return a;
}
903
名前:
大学生
:04/10/22 01:20:37
どうしてもエラーがでるので教えてください
class Concept{
public:
vector<int> number;
double* ave_signal;
}
class GSG{
public:
vector<Concept> m_VecConcept;
int m_length;
};
void Concept::Concept(int length){
ave_signal = new double[length * sizeof(double)];
memset(ave_signal, 0x00, length * sizeof(double));
}
904
名前:
大学生
:04/10/22 01:21:20
のようにクラスを作っておいて、
void GSG::func(){
if (flag){
Concept *pCon = new Concept(m_length);
m_VecConcept.push_back(*pCon);
delete pCon;
}
}
ってやると、コンパイラは通るのですが実行時に
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
ってエラーが出てプログラムが強制終了してしまいます。
それもm_lengthが3の時は普通に動いて8のときは死にます。
VC6.0のMFC使ってやっているのですがここで詰まってしまいました。
分かる方教えてくださいまし。
905
名前:
デフォルトの名無しさん
:04/10/22 01:27:41
>902
例外を投げる場所と、catch節の処理内容によるのでは。
この例ではどちらもないので、AもBも変わらないと思います。
906
名前:
デフォルトの名無しさん
:04/10/22 01:28:05
>>904
取り敢えず、Concept::ave_signalのdeleteをしていないことと
要素数がlength * sizeof(double)なのは変だろうってことと
なんでmemset()するんだかってことが気になった。
907
名前:
デフォルトの名無しさん
:04/10/22 01:33:27
>>904
Conceptにコピーコンストラクタ書いてないとか?
908
名前:
デフォルトの名無しさん
:04/10/22 02:14:44
C++の見積もりって皆さんどうしてますか?
私は、C言語の場合だと、行数1000行ごとに1日コーディングと見積もりしています。
で、C++の場合は、この方法が使えないと、何かの本で読んだもので・・・
909
名前:
デフォルトの名無しさん
:04/10/22 02:27:10
つーか、Cでも行数で単価出すなんて阿呆の仕業じゃあるまいし。
910
名前:
デフォルトの名無しさん
:04/10/22 03:47:16
>>908
機能やモジュール単位で細かく分けて、
更に、設計、製造、デバッグ、、、とかって工程ごとに
数字を出して計算してるけどなぁ。
特にC++だからって特別なことはしていない。
その時点で行数がわかるって、
見積もった時点で詳細設計終わってるわけではないでしょw
実際にはそうきっちりいくわけではないんだけど、
クライアントを納得させるにはそれが一番わかりやすいんで。
これっていまどきでは古い?
911
名前:
デフォルトの名無しさん
:04/10/22 09:42:38
>>909
みたいな香具師は家でプログラミングしてる変体ヲタだと思う
>>908
うちもおおよそそんな感じですよ
912
名前:
デフォルトの名無しさん
:04/10/22 13:03:25
行数が出てる時点で作成はほぼ完了してるように思えるが・・・。
モジュール単位の細分化もそんなことができている時点で作成は終わっていると考えられる。
そのとおりに行うコーディングなんかすぐにでも終わるし、
実際はデバッグとテストというどれだけかかるか計算できない部分だけが残る。
913
名前:
デフォルトの名無しさん
:04/10/22 15:32:40
デバッグとテストで全工程の3分の1ぐらいは確保するかな。
そのくらい絶対かかりそうだもの。
914
名前:
デフォルトの名無しさん
:04/10/22 15:34:03
皆さんに聞きますが、実は裏工程として、
わがままな客の仕様変更の分も
工数に見えない形で入れちゃったりしてるの?
915
名前:
デフォルトの名無しさん
:04/10/22 16:16:04
>>914
ケースバイケース。設計をやり直さなければ対応できないほどひどい仕様変更を
申しつけられた時ははっきり「別料金です」と言っている。
916
名前:
アマグラマ
:04/10/22 16:24:05
ていうか一日1000行も書くの?サイズは20KBくらいですかね。
すごいですね。絶対俺には無理だ
917
名前:
デフォルトの名無しさん
:04/10/22 16:27:34
コピペすれば1000行なんてすぐだよ
918
名前:
デフォルトの名無しさん
:04/10/22 16:58:28
行単位で見積もりが常識なの?
その方法以外で見積もりしてる会社とかないのかな
あまりに理不尽だなぁって思ったとある学生より
919
名前:
デフォルトの名無しさん
:04/10/22 17:00:27
見積もりなんざしねぇ
920
名前:
デフォルトの名無しさん
:04/10/22 17:22:30
>>902
両方とも try ブロックの中で例外が発生する可能性がないので
try~catch を書く必要がありません。
921
名前:
デフォルトの名無しさん
:04/10/22 17:46:49
毎日1日1000行書き続けられたらすばらしいが
漏れの場合、2000〜3000行位一気に書いてしまうタイプだ。
でも、前後に頭の中で組み立てたり、書き終わってから見直したり、デバッグしたり、
その間に書き直しのために数100行削除とかあったりするから
平均すると100〜200行/日くらいになるかも、、、
922
名前:
デフォルトの名無しさん
:04/10/22 18:08:41
プログラムは1日1行まで
923
名前:
デフォルトの名無しさん
:04/10/22 18:10:48
今のプロジェクトで俺が書いたソースファイルが合計2.7MB。
大体36KBあたり1000行のようなので、行数に換算するとおよそ75000行。
工期が約150営業日だったので一日あたり大体500行らすい。
もっとも、俺はコーディングより画面デザインやアイコンの作成にかなり時間割いたので、
コーディングメインのやつならもっと多く書いてるかと。
924
名前:
デフォルトの名無しさん
:04/10/22 18:11:22
設計がちゃんとできていたら3000行とか書けるよね。
925
名前:
デフォルトの名無しさん
:04/10/22 18:16:18
して、行単位以外で見積もってる会社は…?
やっぱまずありえないのかな
まぁどんなにすばらしいソース書いたところで
技術者同士にしか評価できないから難しいんだろうけど
926
名前:
デフォルトの名無しさん
:04/10/22 18:25:41
クソな設計を無理矢理押しつけてくるやつには耐えるしかないのか つД`)・゚・
ていうかだんだん話題がマ板化してるぞ
927
名前:
923
:04/10/22 18:25:46
別フォルダに入れてた500Kを計算し忘れた。
一日平均600行くらいに訂正します。
928
名前:
デフォルトの名無しさん
:04/10/22 18:38:19
>>926
早く設計するほうの人間になってください
929
名前:
デフォルトの名無しさん
:04/10/22 18:45:05
何行ぐらいになるかなんかよく解かるね
930
名前:
909
:04/10/22 18:47:34
鼬害になるから詳細は省略するが、提案書(或いは要求仕様書)の段階で
おおよその画面枚数と処理の複雑さや取り扱う入出力の種類、制作の
困難さなどから見積もりを概算している。
相手によって、営業が上乗せすることもあれば勉強することもあるし、
詳細設計に入っていく過程で見積もり直すこともしばしば。
或いは掛かった工数そのまま請求することもないではない。
いずれにしても、コメントで行数ぐような無様な真似はしない。
931
名前:
大学生
:04/10/22 19:37:04
いろいろdeleteしたら動きました。
回答してくれたみなさんありがとうございました。
932
名前:
デフォルトの名無しさん
:04/10/22 20:44:09
>>918
> 行単位で見積もりが常識なの?
んなわけない。
933
名前:
デフォルトの名無しさん
:04/10/22 20:45:07
すみません。今日は3行しか書きませんでした。
934
名前:
デフォルトの名無しさん
:04/10/22 23:12:37
行数による工数判断があるから、
悪徳PGによる安易なコピペ作業がなくならないのかもな。
935
名前:
デフォルトの名無しさん
:04/10/23 00:16:42
発注する側に常に(まともな)SEがいればそういう悪徳業者は減る
のかな…?
936
名前:
デフォルトの名無しさん
:04/10/23 00:20:07
最初は簡単そうなシステムで見積もらせといて
後からどんどん肥大化してくのは止めてほすぃ・・・
937
名前:
デフォルトの名無しさん
:04/10/23 00:21:22
>>935
前提が間違っていればどのような結論であってもその命題は真。
938
名前:
デフォルトの名無しさん
:04/10/23 00:23:32
3枚くらいの画面デザイン見せられて、安心して見積もったら
実はその画面がタブページありのポップアップだらけでしかも、
データによってデザインを大きく変えないといけないなんてこともあったなぁ。
939
名前:
デフォルトの名無しさん
:04/10/23 00:30:15
クラステンプレートの第一引数をデフォルト引数にするような、
テンプレートクラスはどうやって書けばいいでしょうか?
template<class T = char> class my_string{
...
}
とすると
my_string<char> aaa;は上手く行きますが、
my_string bbb;
ではエラーが出ます。
940
名前:
デフォルトの名無しさん
:04/10/23 00:31:40
>>939
my_string<> bbb;
941
名前:
デフォルトの名無しさん
:04/10/23 00:36:57
>>940
ありがとうございます。でも
my_string bbb;
で通るような、クラステンプレートの書き方を知りたいのです。
942
名前:
デフォルトの名無しさん
:04/10/23 00:39:08
>>941
template<class T = char> class my_stringT{
...
};
typedef my_stringT<> my_string;
my_string bbb;
943
名前:
デフォルトの名無しさん
:04/10/23 01:49:42
std::clogのリダイレクト機能を使ってログ取りをしようとしているのですが、main関数内で
std::ofstream logfile("something.log");
if(logfile) std::clog.rdbuf( logfile.rdbuf() );
clog << いろいろ・・・
とすると一通り正常に実行された後なぜかプログラム終了時にクラッシュしてしまいます。
いろいろ調べたところlogfileがグローバル変数の時はクラッシュしないと分かりました。
logfileの生存期間ってもしかしてプログラム終了までないとダメなんですか・・・?
ちなみに環境はWindows上でminGW+STLportです。
944
名前:
デフォルトの名無しさん
:04/10/23 01:51:50
STLportの使用を止める
945
名前:
デフォルトの名無しさん
:04/10/23 02:00:39
>>943
logfileのデストラクトでそのstreambufを破棄。
std::clogのデストラクトで↑と同じstreambufを破棄しようとしてクラッシュ。
ってことかな?
946
名前:
デフォルトの名無しさん
:04/10/23 04:20:09
Modern C++ Design であった、
template <bool> struct CompileTimeChecker{ CompileTimeChecker( ... ); };
template <> struct CompileTimeChecker<false>{};
#define STATIC_CHECK( expr, msg ) { class ERROR_##msg{}; (void)sizeof( CompileTimeChecker<(expr)!=0>( ( ERROR_##msg() ) ) ); }
の STATIC_CHECK マクロを VC7.1 で使ってみたところ、
error C2066: 関数型へのキャストが正しくありません。
error C2070: 'CompileTimeChecker<false> (main::ERROR_TEST (__cdecl *)(void))': sizeof オペランドが正しくありません。
とエラーが出てしまいました。これは VC の方が間違いなのでしょうか?
947
名前:
デフォルトの名無しさん
:04/10/23 07:18:55
テキストで書いた数値ファイル
10
20
30
を読み込むにはどのようにしたらよいでしょうか?
948
名前:
デフォルトの名無しさん
:04/10/23 07:24:16
std::ifstream hoge("hoge.txt");
int temp;
while(hoge >> temp)
{
// なんちゃらかんちゃら
}
949
名前:
デフォルトの名無しさん
:04/10/23 08:26:50
>>946
ERROR_##msg() のところがコンストラクタ呼び出しとみなされない
みたいだねえ。
とりあえず
ERROR_##msg() → new ERROR_##msg
にしとけばいい
950
名前:
デフォルトの名無しさん
:04/10/23 08:32:42
>>946
だってfalse指定してるじゃん。
951
名前:
949
:04/10/23 11:42:46
>>950
VCだとtrue時も掲示エラー出る
false時に本来出て欲しいエラーメセージは
ERROR_TEST' から 'CompileTimeChecker<false>' に変換できません
てなやつ
952
名前:
デフォルトの名無しさん
:04/10/23 12:13:17
sizeof に () がついているのでVC++は()内を優先的に型として判断しようとする。
CompileTimeChecker<(expr)!=0>( ( ERROR_##msg() ) )
は、
CompileTimeChecker<(expr)!=0> を戻り値とし、
引数を持たない ERROR_##msg という関数のプロトタイプなので、
そのサイズを取得しようとするが、
ERROR#msg はすでに class として定義されているので、エラーになる。
VC++の挙動が正しいかと。
sizeof の () をはずせばエラーは出なくなる。
953
名前:
デフォルトの名無しさん
:04/10/23 12:35:58
>>951
あっ。本当だね。
でも、newだとメモリーリークを起こさない?
ようするに原因はERROR_##msg()を関数と認識するみたいだから
#define STATIC_CHECK( expr, msg ) \
{ class ERROR_##msg{}; \
(void)sizeof( CompileTimeChecker<(expr)!=0>(static_cast<ERROR_##msg&>(ERROR_##msg())) ); } /**/
キャストしてやればいいだけみたい。
954
名前:
デフォルトの名無しさん
:04/10/23 12:37:21
なんかかぶった。
955
名前:
949
:04/10/23 13:19:13
>>952
sizeof の () のあるなしについて勉強になりました!
>>953
話は952で終わってはいるが、sizeof内の式は実行時の評価対象では
ないからメモリアロケート自体実行されず、当然リークも起こさない。
956
名前:
かめびと
:04/10/23 16:49:47
STLのmapを使っていて問題が出ました。
map<char*, int> mymap;
mymap["ABC"] = 0;
char* tmp = strdup("ABC");
printf("%d\n", mymap["ABC"]); // --> ok
printf("%d\n", mymap[tmp]); // --> 駄目
char*の先頭アドレスじゃなくて中身で対応させるには
どうしたらいいんでしょうか?
957
名前:
デフォルトの名無しさん
:04/10/23 16:55:16
std::stringを持たせる。
958
名前:
デフォルトの名無しさん
:04/10/23 16:58:33
あ、そうそう。それからstrdup()は標準関数じゃないから、
あまりお使いなさるな。
959
名前:
かめびと
:04/10/23 17:01:52
なるほど。string使えばいいのか。
C++のライブラリあまり使ったことがないので盲点でした。
strdupも控えます。
ありがとうございますm(_ _)m
960
名前:
デフォルトの名無しさん
:04/10/23 17:24:28
質問です。
C++の設計について、詳しく説明してるサイトって無いですか?
961
名前:
デフォルトの名無しさん
:04/10/23 17:31:59
質問が漠然としすぎ
962
名前:
デフォルトの名無しさん
:04/10/23 17:34:54
>>960
こうすればいいっていうような設計法の定石というのは無いのでそういった
ページはまれだと思うけれど、強いていうならデザインパターンかな。
設計のテンプレートのようなもの。
デザインパターンでググってみればいくつかサイトが見付かると思うよ。
963
名前:
デフォルトの名無しさん
:04/10/23 17:46:21
>>961
自分の中でも漠然としてるというか・・・
設計してコーディングしてると、どこか間違ってたり、もっといい設計が有るように思うんで
設計そのものについて詳しく勉強してみようかなと。
>>962
ありがとう。ググってみます。
964
名前:
デフォルトの名無しさん
:04/10/23 17:55:31
unstrdup がないんだよな。
なんで標準から洩れたかよくわかる。
965
名前:
デフォルトの名無しさん
:04/10/23 18:04:21
>>963
EffectiveC++位読んでおこう。
966
名前:
デフォルトの名無しさん
:04/10/23 18:32:54
>>963
Bjarne の言葉を忘れるな
>言語はそれを使う人が何を考えることができるかを決めてしまう
言語に限ったことじゃない
デザインパターンでも同じこと
とにかく、色々やれ
967
名前:
デフォルトの名無しさん
:04/10/23 18:34:51
禿と呼べ
968
名前:
デフォルトの名無しさん
:04/10/23 18:36:26
失礼、忘れてた
969
名前:
デフォルトの名無しさん
:04/10/23 18:37:25
禿鷹YBBホークスのコーチになってほしい。
970
名前:
デフォルトの名無しさん
:04/10/23 19:35:28
BCB の __closure って、
標準 C++ でエミュレートしようとすればどうなるの?
971
名前:
デフォルトの名無しさん
:04/10/23 19:44:16
>>970
Rubyを使ってください。
972
名前:
デフォルトの名無しさん
:04/10/23 19:46:07
>>971
馬鹿はだまってろ
では分かる人お願いします
973
名前:
デフォルトの名無しさん
:04/10/23 19:47:11
馬鹿差別反対
974
名前:
デフォルトの名無しさん
:04/10/23 19:54:42
>>972
関数オブジェクトを使ってください。
975
名前:
デフォルトの名無しさん
:04/10/23 19:56:41
>>973
禿しく笑わせて頂きました
976
名前:
デフォルトの名無しさん
:04/10/23 19:59:43
>>970
staticにして引数にthisポインタ加えればいけるんでない?
977
名前:
デフォルトの名無しさん
:04/10/23 19:59:49
>>970
手っ取り早くするならboost::bind使う
978
名前:
デフォルトの名無しさん
:04/10/23 20:32:55
次スレは?
ないなら
>>979
が立てるけど。
979
名前:
デフォルトの名無しさん
:04/10/23 23:16:43
すみません、教えてください。
int を char にキャストするオペレータを
オーバーロードすることってできますか?
operator char( int p ) {...}
とか書くと
error: `operator char(int)' must be a nonstatic member function
って怒られちゃいます。
環境は g++ 3.3 です。よろしく!
あ、すみませんが、うちからスレ建てられないんで、
978 さん、よろしくおねがいします。
980
名前:
デフォルトの名無しさん
:04/10/23 23:21:11
>>979
int を char にキャストするオペレータなど存在しない。
981
名前:
デフォルトの名無しさん
:04/10/23 23:24:04
っつか組込型の振る舞いを変えたいってことか?
逝って良し
982
名前:
デフォルトの名無しさん
:04/10/23 23:27:38
>>979
エラーメッセージに答え書いてあるだろ
983
名前:
デフォルトの名無しさん
:04/10/23 23:28:09
オペレータのことは忘れて、独自のキャストを作ってみるとか。
template <typename T1, typename T2> T2 my_cast(T1 t) {
return static_cast<T2>(t);
}
template <typename T1> T1 my_cast(int i)
{
return 何か変わったこと(i);
}
int i = 0;
char ch = my_cast<char>(i);
984
名前:
デフォルトの名無しさん
:04/10/23 23:28:39
おまえもなー
985
名前:
デフォルトの名無しさん
:04/10/23 23:32:18
>>981
,983
既存のソースでこの型変換が行われてるところを検出したいんです。
舌足らずですみません。
>>982
int 型のメンバー関数を定義する方法をご存知だったら教えてくれませんか?
>>980
やっぱりそうなんですか。
986
名前:
デフォルトの名無しさん
:04/10/23 23:33:10
疑問に思ったので、質問をば
関数Aを可変変数で
void A(LPCSTR fmt, ... );
という風に書いた時
void B(LPCSTR fmt, ... );
という関数内で、A(fmt);みたいな感じで渡せないでしょうか?
試したら無理だったのだが、どうにかして渡せないでしょうか?
どうにかして、proxyパターンで可変変数の関数を委譲させたいのですが………
987
名前:
デフォルトの名無しさん
:04/10/23 23:34:18
>>986
むりぽ
988
名前:
デフォルトの名無しさん
:04/10/23 23:36:53
>>986
可変引数の関数を用意するときはちゃんと va_list 版も作る癖をつけれ。
↓こんなヤツ。
void A(LPCSTR fmt, va_list arg_list);
void B(LPCSTR fmt, va_list arg_list);
989
名前:
デフォルトの名無しさん
:04/10/23 23:39:59
無知な漏れに
>>988
を詳しく教えて下さい
990
名前:
デフォルトの名無しさん
:04/10/23 23:41:19
10 レス以内に va_list を説明するスレになりました。
991
名前:
デフォルトの名無しさん
:04/10/23 23:44:08
va_list 版って何?
992
名前:
デフォルトの名無しさん
:04/10/23 23:46:27
>>985
人に聞く前にすることがあるだろ
メンバ関数を追加するにあたって必要となるものを列挙してみろ
class a
{
private:
operator char () const;
};
#define int a
993
名前:
デフォルトの名無しさん
:04/10/23 23:46:36
>>989
こんな感じのサンプルコードでわかる?
ore_printf(const char *format) {
static int count = 0;
print("[%08.8d]", count++);
va_list arg_list;
va_start(arg_list, format);
vprint(format, arg_list);
va_end(arg_list);
print("\n");
}
994
名前:
デフォルトの名無しさん
:04/10/23 23:52:03
>>985
コンパイラの警告オプションをチェックしてみたら?
995
名前:
デフォルトの名無しさん
:04/10/23 23:56:16
やばいやばい、次スレ次スレ…
996
名前:
デフォルトの名無しさん
:04/10/23 23:57:37
>987
ありがとうございます、委譲は楽に書けませんかorz
>988
作ると作らないでは、どのように違うのでしょうか?
コンパイラのチェックとか………?
997
名前:
v(^・^)v
:04/10/23 23:57:41
まだなら漏れが次スレ建てるから、落ち着いて待ってろ。
998
名前:
デフォルトの名無しさん
:04/10/24 00:00:32
>>993
わかんねぇ…
vprintf でググってみる
999
名前:
デフォルトの名無しさん
:04/10/24 00:01:35
999キター
1000
名前:
デフォルトの名無しさん
:04/10/24 00:02:45
1000!
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.