daily affairs
クルマと、読んだ本のネタを中心に。
 

orz  


先日に引き続きまたやらかしてしまいました
※ 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にデータがコピーされない。



当たり前じゃない!!

疲れてるんですかねぇ…


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文字なんだけどなぁ

コメント ( 4 ) | Trackback ( 0 )



« 米からエタノール バカやろ~ »
 
コメント
 
 
 
ふふふ (miya)
2006-07-05 22:44:05
これは、どちらかといえば、コンパイラでチェックしてほしいですね。

#コードがこのマンマ大魔王として





 
 
 
実際は、 (ubar)
2006-07-05 23:26:01
srcの各メンバーをdstの該当する場所にコピーするんですが、要点は同じです。



> コンパイラでチェックしてほしいですね。



そうですよねぇ。。

何も影響が残らないことやっているんだから、warningくらい出してくれても~





って言っても、C++だけに何が起こるか分からないんですけどね。。
 
 
 
Cはわからないのですが・・・ (くし)
2006-07-06 08:13:17
手作業でコーディングする以上、この手のミスはある程度避けられないですよね。

新しい言語・プラットフォームを開発するよりも、ソースチェッカーとか、機械的に単純ミスをなくす技術が進んで欲しいものです。

私の知識では、地道に動作確認する以外ミス(バグ)をつぶす手を知らないですから・・・。



ubarさん、開発以外にお悩みが多くてお疲れ気味じゃないんですか。(失礼)
 
 
 
まだまだありますよ… (ubar)
2006-07-06 08:53:15
アホなミスがいっぱい…orz

またそのうち報告します m(__)m



> 機械的に単純ミスをなくす技術が



そう、それですよ(^^;

できればフリーで。。

うちの会社、というか部署かなぁ~、有償のツールを導入するのが大変なんです~(T-T



> 開発以外にお悩みが多くてお疲れ気味



おそらく大正解!!です(^^;;

やっぱりソフトウェアの開発は人間系がたいへんですわ~
 
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。