先日に引き続きまたやらかしてしまいました![](https://blogimg.goo.ne.jp/img_emoji/kaeru_shock1.gif)
※ C++言語の知識が必要になります。
こんなコードがありました。
void copy(const Type & src, Type dst)
{
// srcをdstにコピー
dst = src ;
}
void function()
{
Type s = get(param);
Type d = get(param);
copy(s, d);
// dの値が変わってない?!
}
不具合の現象:dstにデータがコピーされない。
…
当たり前じゃない!!
疲れてるんですかねぇ…![](https://blogimg.goo.ne.jp/img_emoji/hiyo_shock2.gif)
2006/7/6 追記
正しくはこんな感じで。
void copy(const Type & src, Type & dst)
{
// srcをdstにコピー
dst = src ;
}
void function()
{
Type s = get(param);
Type d = get(param);
copy(s, d);
// dの値が変わってるよぅ(喜
}
たった1文字なんだけどなぁ![](https://blogimg.goo.ne.jp/img_emoji/hiyo_cry2.gif)
#コードがこのマンマ大魔王として
> コンパイラでチェックしてほしいですね。
そうですよねぇ。。
何も影響が残らないことやっているんだから、warningくらい出してくれても~
って言っても、C++だけに何が起こるか分からないんですけどね。。
新しい言語・プラットフォームを開発するよりも、ソースチェッカーとか、機械的に単純ミスをなくす技術が進んで欲しいものです。
私の知識では、地道に動作確認する以外ミス(バグ)をつぶす手を知らないですから・・・。
ubarさん、開発以外にお悩みが多くてお疲れ気味じゃないんですか。(失礼)
またそのうち報告します m(__)m
> 機械的に単純ミスをなくす技術が
そう、それですよ(^^;
できればフリーで。。
うちの会社、というか部署かなぁ~、有償のツールを導入するのが大変なんです~(T-T
> 開発以外にお悩みが多くてお疲れ気味
おそらく大正解!!です(^^;;
やっぱりソフトウェアの開発は人間系がたいへんですわ~