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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:39:18 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.56【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1215278693/

【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

◆ソースのインデントについて
半角やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのが最も良いですが、
直接貼るのであれば、全角空白か に置換しておくことをお勧めします。

132 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 13:45:18 ]
1画面なんて言われたら、250桁×100行でも許容しろってことかよ。

冗談じゃねぇ。

133 名前:デフォルトの名無しさん [2008/07/20(日) 13:49:48 ]
分かり易ければ1画面に収まる必要まったくなし
こだわってるやつはたいてい頭悪い

134 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 13:54:50 ]
>>132
1600x1200?w
寧ろ、3分割して80桁x300行とか嫌そうだw

135 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 13:56:38 ]
A4一枚とかはよく見聞きする話

136 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 14:06:39 ]
明日から7ptフォントで開発しとけよ。

137 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 14:10:04 ]
初心者には一画面以内 must で教える
上達したら一画面越えてもいいよと教える

138 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 14:14:15 ]
マクロで質問です。

#pragma message("hogehoge") をマクロにしたいんですが...

次のやり方でコンパイラが怒ります...。

#define _message( str ) #pragma message( str )

どう登録すれば良いんでしょうか?

139 名前:デフォルトの名無しさん [2008/07/20(日) 14:22:41 ]
プラグマをマクロにした例はみたことないなぁ
できないんじゃないの?

140 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 14:24:27 ]
できないよ。



141 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 14:53:05 ]
だからC99で_Pragmaが追加された。
VC++も2008から__pragmaという名称で同じ機能を用意している。

142 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 15:17:57 ]
プラグマをマクロ化って。
誰が得するんだ…。

143 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 15:22:58 ]
>>142
処理系によってプラグマの書き方が異なる場合

144 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 15:37:54 ]
>>143
いや理論的にはそんなんだけど、俺の未熟な経験からは
使った方が便利だってケースが思い当たらない。
そんで誰が得するのかな、と。

145 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:06:04 ]
>>144
処理系A #pragma align packed
処理系B #pragma pack(1)
だとすると、構造体の定義のたびに、

#if defined(_IMPL_A)
#pragma align packed
#elif defined(_IMPL_B)
#pragma pack(1)
#endif
struct S {...}
#if...さらにアライメントを元に戻すpragma

と書かないといけない。

さらに処理系C #pragma options align=packed
を追加したくなったら、もううんざりだ。

146 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:14:15 ]
includeでやるのはどう?

147 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:17:04 ]
>>146
うん。実際そうやってた。
でも美しくないんだよねえ。構文的に

148 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:39:11 ]
>>130
井戸の中にしかないと思われ。

149 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:16:25 ]
VC++2005EEで作成しています。
有る関数の中でループを毎に乱数を発生させ、配列に値を保存させようとしたのですが
実行画面では同じ数値に成ってしまいました。デバックをしてみたところ

@1から見ていくと、配列にちゃんと違う数値が入っていき、ループを抜けた
@2までみても違う数値が保存されていました。

@2にブレークポイントを設定し、そこで値を確かめるとListの値には
同じ数値が配列に保存されていました。

全て値がう値が保存されている様にしたいのですが、何が問題になっているのか見当がつきません。
何か対策とかあるのでしょうか

srand( (Uint32)time(NULL) );
m_Tmp = new Object();
@1
for ( Uint32 i=0; i<MAX; ++i )
{
m_List.push_back( *m_Tmp );
m_List[i].SetNum( rand() % 10 );
}
@2
※SetNumは与えられた値を保存させるだけのメソッドです。

150 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:19:22 ]
STLのstd::vector<int>とか使ったらいいとおもうよ。



151 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:22:06 ]
m_Listは std::vector<Object> m_List;で宣言してあります。

152 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:26:02 ]
Object()のコピーコンストラクタとか、どっか実装がおかしいんじゃね?

153 名前:デフォルトの名無しさん [2008/07/20(日) 17:27:51 ]
>>149
ちょwww
これはだめでしょ
Object は最初に1回 new しただけでしょ?
そこに値をどんどん入れて行ったら、当然同じインスタンスに値をどんどん突っ込むわけで、
最後には、一番最後に代入した値ばっかりのリストになるよwww

154 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:28:56 ]
>>149
Object の定義が怪しい。 SetNum の値をポインタの先に保存してて、 Object のコピーでは
ポインタがコピーされてるとか。

>>153 push_back(*m_Temp) だから、そこが問題じゃないでしょ。

155 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:29:38 ]
済みません。事故解決しました。
SetNumで違う変数に値を保存してました。お騒がせしました orz

156 名前:149 [2008/07/20(日) 17:30:23 ]
そっか、push_back でコピ^コンストラクタが動くのか、
じゃあ152が正しいか。

157 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:22:03 ]
現在自作ゲームで文字の時間差表示をしようとしているのですが、
string script="abcde";
string strbuf="";
int moji=0;

for(int i=0;i<script.size();i++){
strbuf+=script[moji];
//ここでstrbufの内容を表示
//ここにwait処理が入る
moji++;
}

strbuf="";
moji=0;

scriptの中身が1バイト文字だと正常に表示されるんですが、
2バイト文字だと文字の背後に・(黒点?)が表示されてしまいます
stringは2バイト文字は使えないんでしょうか?

158 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:23:27 ]
wstringとか

159 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:32:17 ]
マルチバイト文字列用のルーチン使って文字を切り出すか、UTF-16をつかう。

おそらくstd::stringで1バイトづつ出力させてるんだろうけど、それやっちゃうと2バイト文字は半分ちぎれたりするから正常に表示できない。
ちゃんと2バイト文字は2バイトづつ出力させるか、2バイト固定のUTF-16使えばOK。
荒技としては逆に1バイト文字を使わないという手もある。(全角数字、全角アルファベット、全角記号で代用)

160 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:35:47 ]
なるほど、要はscript[moji*2]とかループを1/2回にするなり
数字は全角で書くなりすれば良いわけですね
ありがとうございます



161 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:44:30 ]
>>159
UTF-16だから2バイト固定なんてことが許される時代はもう終わっているよ。

162 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:47:14 ]
サロゲートなんて捨ててOK

163 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:52:10 ]
C/C++って、マルチバイト文字の、先頭か二番目以降かって判定する関数なかったっけ?
標準でなくても、それぞれのプラットホームには必ずあると思うけど。

164 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:52:40 ]
[゛], [゜] も捨ててかまわないってことで。

165 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:57:08 ]
>>162
つUTF-8, UTF-32

166 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:59:55 ]
>>163
そんなレガシー技術に頼るぐらいならUnicodeにしとけよ

UTF-8では先頭バイトと後続バイトはMSB側の2bitを見るだけで簡単に区別できるし
先頭バイトだけで後続バイト数は判断できるし
後続バイトがASCII文字と重なるようなこともない

マルチバイト処理は必要だが、レガシーなエンコーディングスキームよりは
ずっといい性質を持っている

167 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:00:00 ]
>>165
つwchar_t

168 名前:166 mailto:sage [2008/07/20(日) 23:04:30 ]
補足。
euc-jpやiso2022系では、「lead byteかどうか」は特定の2バイトを見ただけでは
判断できない。
行頭なり何なりから順番に舐めるしかないはずだよ。

>>163の言っているような"iskanji"風のレガシーなクソマクロは、特定の条件でしか
役に立たないものだ。

169 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:09:52 ]
>>168
先頭から見ないとわからないってのは、EUCのほうじゃなくてShift JISのほうでは?

170 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:15:37 ]
なんで文字コードごときの話でそんな偉そうにできるんですか?



171 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:18:27 ]
>>170
皆、思い思いに書いてるだけだよ。
偉そうに見えるのはおそらく・・・

172 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:23:01 ]
>>169
EUCで簡単なのは1byteコードと2byteのコードの識別だけで、
lead byteとtrail byteの識別は難しいのでは?

173 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:31:16 ]
入出力(ファイル、パイプ)はともかく、
内部コードにUTF-8, UCS2, UTF-16, UTF-32以外を使うのは止めておけ。
マジで。

174 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:40:52 ]
wchar_tはC/C++の定義上1文字なので、
固定サイズであるUCS2/UTF-32と考えるのはそれほど問題でないが、
可変サイズであるUTF-8/UTF-16として扱うのは完全にNG

175 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:43:05 ]
VC++で、ソースコードをUTF-8で保存してコンパイルしたら、"文字列" がUTF-8になってくれればいいんだけどね

176 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:50:50 ]
VC++(UCS2)/gcc(UTF-32)での可搬性を考えると、
wchar_t=UCS2と想定するのが良い

UTF-16、UTF-32はC++0xが出てくるまで我慢

177 名前:176 mailto:sage [2008/07/20(日) 23:53:11 ]
もちろん、ICUなどで提供されている型や関数を使っている人は除く

178 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 02:42:01 ]
どーでもいいよそんなの

179 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 08:10:43 ]
>>175
C++0xでUTF-8リテラルが追加される。u8"文字列"

※ime.nu通すと#以降が消えるので
ttp://ja.wikipedia.org/wiki/C%2B%2B0x#.E6.96.B0.E3.81.9F.E3.81.AA.E6.96.87.E5.AD.97.E5.88.97.E3.83.AA.E3.83.86.E3.83.A9.E3.83.AB

180 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 14:04:39 ]
printf("aaa\b\b\b");

とかやってるコードを見かけたのですが、
\b\b\bはどういう意図でやっているのでしょうか?
\bはバックスペースのようですが…



181 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 14:20:49 ]
次に書いた文字がaaaを上書きする。

182 名前:180 mailto:sage [2008/07/21(月) 14:40:00 ]
>>181さんありがとうございます。

ファイルコピーの進捗状態をコンソール上の同じ位置で
パーセント表示する際などに
使うわけですね。なるほど。

183 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 19:36:23 ]
char *p;
char **pp = malloc(sizeof(char*) * 100);

という式はcharのポインタのポインタを100確保したという意味でいいのですか?
pp[0]はpと同じ意味ですか?

184 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 19:42:56 ]
char*を100個格納できるエリアへのポインタを返していて、そのポインタをppに入れている
あくまでも指定されたサイズのエリアを確保しているだけで、ポインタを確保している訳ではありません。

上記コード上ではpとpp[0]には何の関連もないけど、
p = pp[0];ができる?という意味なら、できる。

185 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 22:34:01 ]
>>184
同じ意味とは型が同じかという意味でした。

186 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 23:08:32 ]
VCで作ってタソーすをgccでコンパイルしようとすると
tchar.hがないってエラーになるんだが、
Linuxでは何てヘッダを読み込めば_TCHARとか_T()とか使える?
自分で定義するしかない?


187 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 23:17:41 ]
当たり前だ

188 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 04:22:32 ]
そのための_TCHARだ。

189 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 04:24:17 ]
gcc だと何と定義すりゃいいんだろうな。
wchar_t が UCS4 だったりすることもあるんじゃないのか。

190 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 14:21:02 ]
そもそもAPIにAとWの区別もないのに何の意味があるんだろう。



191 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 14:28:47 ]
>>190
WしかないAPIもある

192 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 14:34:56 ]
>>191
そんな話はしていない

193 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 16:50:58 ]
>>189
UCS2でも4でも動くように書くしかないかと
あるいはライブラリを使うか

194 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 17:33:55 ]
wchar_tの中身がUnicode系ではない環境もあるのでよろぴこ。


195 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 20:54:18 ]
>>194
その処理系の名前教えて。
いや、煽りとかじゃなくて普通に知りたいので。

196 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 21:25:07 ]
>>195
Linux以外のほぼすべてのUNIX。
すくなくとも、Solaris FreeBSD NetBSDはUnicodeではなかったはず。




197 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:00:16 ]
そうなのか。dクス

198 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:02:46 ]
LinuxをUNIXと言うと基地外が来襲するので
ちゃんとUNIXライクOSと言いましょう

199 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:11:08 ]
wchar_tマジ使えなさすぎワロタ
ml.tietew.jp/cppll/cppll/article/862

200 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:40:13 ]
その辺に載ってる話はさすがに古くねえか?
gcc 2.xだろ?



201 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:55:17 ]
gccのwchar_tは昔からうんこ
あまりにも有名すぎる話

202 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 23:37:26 ]
>>201
いやその、今のgccはinput-charsetだのexec-charsetだのwide-exec-charsetだの
指定できるだろ?

203 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 01:49:03 ]

*i |= 3;

はちゃんと

*i = *i | 3;

に展開されるのでしょうか?


204 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 02:26:54 ]
いいえ、前者と後者では意味が違います。

205 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 02:32:22 ]
>>203
「展開される」の意味が分からない

Cだと結果は動作は等しくなる
C++だとoperatorのオーバーロードがあるのでなんともいえない

206 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:02:00 ]
class test {
string* p;
public:
test() { p = new string; }
~test() { delete p;}
}

main() {
test obj1;
test obj2 = obj1;
}

2度目のdeleteにてセグメンテーション違反で落ちるコードです
教科書ではコピーコンストラクタを上書きして
ポインタの指す先までコピーするようにしてるのですが
delete時にチェックする方法はあるんでしょうか?
実用性は考えていませんが、興味があります

環境:
Linux kernel 2.6-686
GNU C++ compiler 4.1.1

207 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:07:15 ]
ローカル変数とは定義された順にスタックに積まれるのですか?

208 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:13:42 ]
>>206
obj2.pはobj1.pと同じだから落ちて当たり前。
何がしたいのか分からないけど、ポインタにNULLポインタを入れておけば
それがdeleteされても問題なく動く。

209 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:13:50 ]
>>206
> delete時にチェックする方法はあるんでしょうか?

参照カウンタをどこかに持つとか。



210 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:18:20 ]
あー、参照カウンタにしても、けっきょくコピーコンストラクタをオー
バーライドしなきゃいけないか。







211 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:25:16 ]
>>208
どこでNULLをセットすればいいですか?

>>209
なるべく簡単な方法がいいんですよね

catchしちゃえばいいのかな
このアドレスは使っちゃ駄目みたいなのは
カーネルに聞けば教えてくれるのかなと思ったんですが

212 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:33:33 ]
>>206
あくまでチェックしたいってことなら、方法は無い。
ヌルをセットするとかして、とにかく落ちないようにするなら auto_ptr でも使っとくのが簡単。

#include <memory>
#include <string>
using std::string;
using std::auto_ptr;

class test {
auto_ptr<string> p;
public:
test() : p(new string) {}
};

int main() {
test obj1;
test obj2 = obj1;
}

213 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 11:37:38 ]
>>207
規格ではスタックが使われるのかすら決まってなかった気がする

214 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 12:39:32 ]
>>211
string*ではなくstringをメンバに持たせる

215 名前:デフォルトの名無しさん [2008/07/23(水) 16:25:27 ]
class hoge{
private:
int fuga;
public:
void setfuga(int a){ fuga = a; }
int getfuga(){ return fuga; }
};

class foo{
private:
std::vector<hoge> var;
public:
void sethoge(hoge hage){ var.push_back(hage); }
std::vector<hoge> getvar(){ return var; }
};

int main(){
foo foo0;
hoge hoge0;
hoge0.setfuga(1);
foo0.sethoge(hoge0);

std::vector<hoge>::iterator itr;
itr = foo0.getvar().begin();
std::cout << foo0.getvar().at(0).getfuga() << std::endl;
std::cout << (*itr).getfuga();
return 0;
}
これを実行すると、一つ目のcoutは正常に出力(1)されますが、二つ目はでたらめな値が出ます。
itr = foo0.getvar().begin()はfoo0.getvar().at(0)を指すiteratorだと思うので、同じ結果になると
思っているのですが…。どなたかお教えいただけると助かります。

216 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 16:35:26 ]
>itr = foo0.getvar().begin();

getvarの戻り値はfoo0.varそのものではなくfoo0.varの一時的なコピーで、次の文に移る前には破棄される
getvarはfoo0.varのコピーを返すのではなくfoo0.varへの参照を返す必要がある

217 名前:デフォルトの名無しさん [2008/07/23(水) 16:38:55 ]
>>216
その通りでした。ちょうど思いついたところでした。
すみません、どうもありがとうございます。

218 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:39:07 ]
HOGEという構造体がtypedefされているとします。


HOGE *hoge;と宣言します。


void function(HOGE *hoge){

}という関数に

function(hoge)と渡すと参照渡しになってますか?

219 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:42:42 ]
>>218
それはC++でいうところの参照ではありません

220 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:44:26 ]
アドレス私ですか?



221 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:46:44 ]


222 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:47:38 ]
アドレス渡しですか?の間違いです

223 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:01:10 ]
「自分宛のレスですか?」という意味だと勘違いしたのは、
俺だけじゃないはず。

224 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:33:45 ]
foo(HOGE fuga){ }
bar(HOGE* pFuga){ }
baz(HOGE& fuga){ }

func()
{
HOGE hoge;
HOGE *pHoge;

// 値渡し
foo(hoge);
// ポインタ渡し(アドレス渡し)
bar(pHoge);
// 参照渡し
baz(hoge);
}


225 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:40:34 ]
foo(HOGE fuga)
foo(HOGE &fuga)

HOGE hoge;
foo(hoge);

この場合どっちが優先されますか?

226 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:43:00 ]
>>225
自分でコンパイルしてみては?

227 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:44:40 ]
自分で試してください。

俺は試しました。VC++2005EE

XXX.cpp(19) : error C2668: 'foo' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照)
XXX.cpp(11): 'void foo(HOGE &)' の可能性があります。
XXX.cpp(7): または 'void foo(HOGE)'
引数リスト '(HOGE)' を一致させようとしているとき

228 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:44:44 ]
もし環境依存だったら自分で試しただけでは分からないし

229 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:50:02 ]
それは試してうまくいった後に質問すべきこと。

230 名前:デフォルトの名無しさん [2008/07/23(水) 22:08:24 ]
g++でプリコンパイル済みヘッダが使えないって聞いたんだが、
stdafx.hみたいに一つのヘッダファイルでSTLやboostとかのヘッダ
全部読み込むのはやめたほうがいい?




231 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 22:44:37 ]
いつのg++の話?

232 名前:デフォルトの名無しさん [2008/07/23(水) 23:54:09 ]
>>224
225は自分じゃないです。

ポインタ渡しした場合はbar関数の中で値を書き換えても、元には影響ないんですか?






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

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

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