自分がよくやるバグ

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
分かっちゃいるけどつい入れちまうバグを告白するスレ。
学習能力がない?ほっとけゴルァ。
2デフォルトの名無しさん:02/01/29 03:05
わけもわからずスレを立ててしまいました。
ごめんなさい。
3 :02/01/29 03:15
ユニコード>SJIS忘れかな?
4デフォルトの名無しさん:02/01/29 03:33
今だ4get!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
   ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ

・・・・・・・・・
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄
     ∧∧        (´;;
   ⊂( ゚Д゚⊂⌒`つ (´⌒(´

・・・・・・・・・
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄
     ∧∧
   ⊂(゚Д゚⊂⌒`つ; (´⌒(´

糞スレだった・・・・・・・・・
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄
     ∧∧
    (゚Д゚ )⌒ヽ
     U‐U^(⊃'〜... (´⌒;;
switch文でbreakをしょっちゅう忘れる、、、
while文の、式が真なら処理を行う、というものを
無意識の内に、式が偽なら処理を行う、と勘違いしてしまっている
ことがあるYO。
71のよくやるバグ:02/01/29 05:51
int d;
scanf("%d", d);
8デフォルトの名無しさん:02/01/29 07:12
>>6
それはPerlのuntil文じゃないのかYO
構造体やクラス宣言の後の「;」付け忘れ。
マルチスレッドで同期・排他処理を抜かす・・・。
てゆうか確信犯だけどな〜
いまだに時々intを2バイトに決め打ちしてしまう。
12デフォルトの名無しさん:02/01/29 14:23
age
中田氏
むしろ最近のトレンドはintを4バイトに決め打ちだろう。
で、64ビットUnixでハマる。
え?64ビットUNIXって、intが64ビット? longがじゃなくて?
long long
17デフォルトの名無しさん:02/01/30 12:50
マルチスレッドでスレッドセーフのライブラリを使わない。
確信犯だけどな。
default: タイプミスするんだよなあ・・・まあエディタが色付くかどうか注意するクセつけて多少減ったけど
19 :02/01/30 13:08
java で while( 1 );
C/C++ で null
>>19-20
コンパイルエラーが出ると思うが。
java で NULL
C言語で while (true);
C++言語で private int
25デフォルトの名無しさん:02/01/30 15:47
unsigned int i;

for(i=DEFAULT_ITER;i>=0;--i)
{
};
バグ大賞エントリー事例その1

for(i=0;j<5;j++);
>>26
そうゆうのよくやる。

for(j = 0 ; j < i ; j++) a[i] = ... ;
>>26ついさっきやった
for( cnt=start; cnt<end; ++end )
たまにやる…

while(p) foo(*p++) ;
open( IN, "hoge.txt" );
while(IN){...}

笑い事じゃねぇ、サーバー止まった。
最近見たバグではないけど???なコード

printf("hoge\n");;;
32デフォルトの名無しさん:02/01/30 17:12
ifstream in;

if(!in.open('filea')) in.open('fileb');
・・・仕様の勘違い。
つーかしつこいくらい確認しろよ>漏れ
>>30 それ、どう解釈されるんだろ?

昔良くやった、exitをわるれるやつ
$pid = fork();
if (!$pid){
......
}
>34
F1オタハケーン!!   w
36( ・∀・)つ旦:02/01/30 18:06
for(it=foo.begin();foo.end();it++){

}
for(int i=end; i>=0; i++){
  …
}
>>37
つぼにはまった!爆笑!
>>35
>>34の発言がどうしてF1ヲタになるのか
よう分からんが、とりあえず言っとく・・・

オマエモナー(w
40デフォルトの名無しさん:02/01/30 19:18
x86なニモニックで、procedureの終わりに、retし忘れ。
4134:02/01/30 19:35
バレテル・・・

((((;゚Д゚)))ガクガクブルブルブル
42デフォルトの名無しさん:02/01/30 19:42
メールで「〜を添付します」と書いておきながら忘れる。
そしてさらに「すみません。もう1度」と書いておきながら
また忘れる。
バグ、なのか? …
脳内バグです
string szA;
char szBuf[256];
sprintf(szBuf, "...%s...", szA);
よくやるバグねぇ・・・
malloc の戻り値をチェックし忘れるとか、
bad_alloc 例外をキャッチし忘れるとか、
ファイルを読み書きしたあと ferror をやり忘れるとか、、、
確信犯というより、開き直りに近いところがあるけど。
よくやるバグではないが、めちゃ発見しずらかったバグ。

a = (f()<<24) | (f()<<16) | (f()<<8) | f();

f()はファイルを読み込んで1文字返すやつね。
48デフォルトの名無しさん:02/01/30 22:44
>>47
よくわからんビッグエンディアンとリトルエンディアン?
49デフォルトの名無しさん:02/01/30 22:50
>>47 >>48
評価順序が規定されてないってことだろ。
>>48
ちゃうちゃう。
関数が呼ばれる順序が規定されていない、つうやつ。
どの演算から行われるかはコンパイラ依存のようだった。
評価順序(この場合 f() の呼出し順序)は処理系依存、
ってやつだろ。シーケンスポイントバグってやつだな。
イベントハンドラ内からイベントを発生させるメソッドを間違って呼んだり。

class Window
{
void close(){ onClose(); }
virtual void onClose() = 0;
};

class MyWindow: Window
{
virtual void onClose(){ close(); }
}
必殺ソースのコピペ。
関数にしようとしても、ローカル変数が絡んでいるから面倒くさい。
ステップ数だけが爆発的に増えていき、最終的に「仕様と違います」と言われる。
もっと考えて作れ!!>俺
>>34
while ("IN") {}と同じ。読み込みしないで無限ループ。
55デフォルトの名無しさん:02/02/01 12:48
fopen()しといてfclose()しない。
malloc()しといてfree()しない。
56まもら ◆MtyDeTiY :02/02/01 13:07
Collection(ArrayListとか)のサブクラスで、

while( iterator().hasNext() ) {
  str = (String)iterator().next();
  // :
  // :
}
とか。
ポインタの先に何もなかったとか。たまにやるな。
最近、仕事がPerl(鬱だ)、趣味プログラムはC++で書いている。
気が付くと、C++の一行コメントを # comment と書いている自分がいる……
59デフォルトの名無しさん:02/02/02 01:45
誤:retrun (age+sage);
正:return (age+sage);
60デフォルトの名無しさん:02/02/02 01:46
if(string1 == string2) //java
61デフォルトの名無しさん:02/02/02 01:51
switch (a) {
  case 0:
  csae 1:
   :
   :
  defualt:
   hoge();
}

未使用のラベル defualt を検出してくれるコンパイラがいいな、
と思った冬の夜。
62デフォルトの名無しさん:02/02/02 01:53
testと書いたつもりがtset。

コンパイラ「えらー:未知のシンボルtestが見つかりません」
おれ「はぁ?」
しばらくドハマリした後、鬱。
#inlcude
64デフォルトの名無しさん:02/02/02 02:00
Windows9xとかでコード書いてると、突然カナ入力になってはまる。
ハニリイト
SHIFT+CTL+ALT連打or再起動。
これって防止対策可能?
extren
>>64 今調べた所、"Alt" + "かたかな/ひらがな(ローマ字)"キー
で、ローマ字とひらがなの入力方式の変換が出来るとわかりました。
67デフォルトの名無しさん:02/02/02 04:03
桁を揃えようと思って・・・
int a[] = {
521,321,123,
065,852,036,
654,414,008
}
穴をまちがて(略)
>>67
おお懐かしい!
俺も昔よくやってたよ。あれ以来8進数が嫌いになった。(w
>>67
その最後の008が007だと、もう…
さっきやった…

 m_pMemDC->CreateCompatia,konnbannwa,ohisasiburidesu>
bleDC(&dc) ;

チャット中だったのよ
>71
頭やばいって!
73デフォルトの名無しさん:02/02/02 12:58
>>71
ワラタ
if(i=0)
{
  fnc();
}
>>74
可読性をかなぐり捨てるなら
if (0=i)
{
  fnc();
}
とすることで未然に防げるが
if (i+0=0)
{
  fnc();
}
でも防げるよ!
んなことやる前に警告レベルを最大にしる!
>>74
lintに食わせろ
7948:02/02/03 02:26
>>49-50
サンキューです
皆さん親切ですね。
80デフォルトの名無しさん:02/02/04 11:09
static const struct { int x, y; } table[] = {
 1, 0,
 0, 1,
 -1, 0,
 0 -1,
};

カンマ忘れてるのにコンパイル通る罠。
81デフォルトの名無しさん:02/02/05 22:51
a = acos(x) - PI/2;
↓後ろをコメントにした
a = acos(x);// - PI/2;
↓コメントを取った
a = acos(x); - PI/2;

コメント解除したつもりが、実はされていない、コンパイルは通ってしまうという罠。
return って正しく入力できてない。
>82
retrun
defualt:
の罠。
84 :02/02/06 02:37
if( string == "hoge" ) 今日もやってしまったなあ。(java)
85デフォルトの名無しさん:02/02/06 08:44
char *szNames[] = {
"FOO",
"BAR"
"BAZ",
NULL
};

やはり、カンマ忘れてるのにコンパイル通る罠。
>83
whlie も仲間に入れてやってくれ。
width(document)
{
write("これも仲間かなぁ?");
write("よくやっちゃうんだよねぇ");
}
88まもら ◆MtyDeTiY :02/02/06 13:00
#ifndef ガイシュツ
#define retrun return
#endif
>>84
>60でも出てるけれどJavaって文字列比較にならん仕様なの?
Delphiで定数配列の範囲を指定しないといけないのは
>85みたいなことを防ぐためなのかなあ。
「xを右にnビットシフト……」とつぶやきながらなぜか << とタイプしている。
バグが多すぎて、何を書けば良いのかがわからない。(w
「そこは2分の3です!」とドキュソSEに説明しながらコードを組むと、
ソースには2/3と書いてしまう。

で、ドキュソにそこを突っ込まれるたびブチ切れですよ。
>>89
Javaの==はCで言えば
pstr1 == pstr2(ポインタ比較)
文字列比べたいならstrcmp使わないとだめなのと同じ
95デフォルトの名無しさん:02/02/07 08:28
よくやるわけではないがハマったやつ。

int GetFlag(void);

if(GetFlag) { // 痛え!
...
}
96デフォルトの名無しさん:02/02/07 09:04
BOOL hoge1(void);
BOOL hoge2(void);

if(hoge1()!=hoge2())
{
}
>>96
BOOLじゃなくてboolならおけ?
if (strcmp(text1, text2)) { /* 文字列が一致した */ }
↑さっきどっかのスレでやってたな・・・
>>94
加算はできるのに比較はできないとは。なんじゃそりゃ。
そして>>100は、Javaはポインタしかない、と書いた本を買いに行くわけだ。
クラスにメンバ変数を追加した時に初期化するのを最近よく忘れる。
103デフォルトの名無しさん:02/02/09 18:19
ブラケットとブロックを押し間違えでコンパイルエラー
>>96
どこが間違いか分らんのだけど・・・
>>104
BOOLはFALSEとTRUE以外の値も入るって事じゃないの?
>>105
なるほろ・・・。0とそれ以外、とかを返すとまずいわけか。
107デフォルトの名無しさん:02/02/09 23:44
Cやった後のVBで;を付ける。
VBやった後のCで;を付け忘れる。
108結論:02/02/09 23:47
VBにもステートメソトにはセミコロンを。
109結論2:02/02/09 23:52
ステートメントにセミコロン付けても付けなくても大丈夫なHSPが最強w
2通りのやり方があるときにどっちにしようか迷いながら
書くと必ずといっていいほどバグ入れる。
111デフォルトの名無しさん:02/02/12 23:31
>107
セミコロンつけてもいいVBプリプロセッサを!(w
112デフォルトの名無しさん:02/02/13 05:54
>>11 サイキッカ‐?
>107
Cシェルやった後のCではかなり凄いことになるYO!
なまじ文法を似せているのも考え物だと思ったYO!
バグではないが、「しっぱい」を「しっぱお」とよく打ち間違える。
ガイシュツだがreturnもretrunになるし、ほかにはbreakもよくvreakになる。
retrunはよくやる(笑
>115
漏れも(w
SELECT * FORM hoge
118デフォルトの名無しさん:02/02/20 13:40
% cc -o test test.c
% test
動かん(;´Д`)

C:\>cc exit.c
C:\>exit
動かん(;´Д`)
119アフォぷろぐらま:02/02/20 13:51
私はないですが・・・、生徒がよくコメント文でないところに
全角スペースを入れていた。これ最悪!
120 :02/02/20 13:58
元のソース戻すとちゃんと動くプログラム。
変な変え方してないのだが。。。
121デフォルトの名無しさん:02/02/20 14:02
>>118
REM.EXE は DOSの頃やってハマったことある。
122デフォルトの名無しさん:02/02/20 14:05
>>118
testの方はマジで3日悩んだことがある
123棄教者 ◆witdLTi2 :02/02/20 15:09
Perl で else if, break;を書く
C(C++)でelsif, last;を書く
124 :02/02/20 15:21
>>118
% ./test
にしれ。気持ち悪い。
.NETでいくつもの言語を使用して開発したら
面白いことになりそうだ。

た・の・し・み。
>>124
./testにしなかったから動かなかったというネタなのでは…
127デフォルトの名無しさん:02/02/21 04:11
>>124 >>126

漏れの通っていた大学の設定では、
デフォルトで.にパスが通っていたのさ。

118や122のとこもそうだったんだろう。
gccじゃなくccなところが・・・なおさら、そんな気がするよ。

testは漏れの周りでもはまっているやつがいたよ、たくさん。
漏れか?漏れの場合は、jikkenって付けてたからなぁ。
いまだに実験プログラムはjikkenだ(藁
・VC++にて
bool MMX_CHK(void){
  BOOL result=FALSE;
  _asm{
    cpuid
    (以下処理、略)
  }
  return result;
}
(;´Д`) しまった…ここのマシンのVC… Professional より低いんだっけ…。


・PHPにて
<?php
  echo "サーバ変数<hr> ";
  print_r(get_defined_vars());
  echo "<BR>定義済み関数<hr>";
  print_r(get_defined_functions());
  echo "<BR><hr> ";
?>
(;´Д`) …あ。 げろっちょ…。


・postgreSQLにて(←プログラム違うやんッ!)
#postgres > create table test (
        serial bigint not null auto_increment,
        identify varchar(16) not null,
        password varchar(16) not null,
        char_type int(1) not null default 7,
        primary key (serial)
        );
(;´Д`) しまった…mySQLのクセが…… 2コもエラーか… 


あとは… TRUE / FALSE の定義が 1/0 なのか 0/-1 の違いも伏兵……。
129デフォルトの名無しさん:02/02/21 23:42
何故こんなアホなことをやってしまったのかは忘れた。

for (i = 0; i < QQQ; i++)
  arr[i++] = ...
さっき見つけたんだが、自分でびっくりした…
 for (〜) {
  :
  :
 } while (〜);
「こんな構文、許されるのか!?」と一瞬目を疑ったよ。トホホン…
for (i = 0; i < array[hoge]; i++) {
  :
}
って書くべきところを、
for (i = 0; i < array[i]; i++) {
  :
}
とかいて20分はまった。あほらし。
132デフォルトの名無しさん:02/02/22 00:27
バグではないが、

while (17) {

何だその中途半端な値は。
>132
良いねそれ。
今度使ってみよ。
while(4649){
*z_ptr=*x_ptr/*y_ptr;

コンパイルエラーに 30 秒悩んだ学生の頃
>>134
まともなエディタ使わないヤツがハマルらしいね、これ
>134
悪いと思いつつワラタ
漏れはスペース入れるのでたまたまハマらないんだと気づく罠。
137どんどん盛り上がり、果てます。そしてまた盛り上がります。:02/02/22 03:46
>>132-133
while (4545) {
   ++excite;
...
138デフォルトの名無しさん:02/02/22 04:52
さすがに今はしないけど、ifの条件式で==を=と書いてしまい思い通りに動かなかった頃があった。
if(a=0) ←意味ないね(笑)
>>132みて思ったんだが、
while("(´∀`)"){
}
こんなこともできる?
>>139
Cの場合、NULLポインターでなければアドレス0が返ることはないだろ。
空文字列を偽と判断するPerlだとwhile("")はまずいだろうな。
141 :02/02/22 06:21
char *hoge;
hoge=Label1->Caption.c_str();

条件が分からんがたまに変換に失敗する。
Rubyでスマソ

obj.collect_with_index{ |e, i|
 …
}

…そんなメソッド無いって。
143デフォルトの名無しさん:02/02/23 11:50
日本語に対応してないコンパイラでsjisのコードをコンパイルしたとき、

// 保田圭
m++;
// 吉田恵
n++;

コメントの次の行が飛ばされることがあって、悩んだ。
(実際のコメントはちゃんと真面目なやつです。念のため)
陽一に対応してないコンパイラではつみみ;)のコードをコンパイルしたとき、

// 日下部圭子◆Fj39dsAD
m++;
// これもって恵!
n++;

女を取るかキーワードで萌えるか、悩んだ。
>>143
2バイト目が "\" の時ね。あるある。
>>143
シェルで似たような経験したよ。
開発中は日本語ロケールだから問題はおきないのだが、cronで動かすと・・・
int main{
cin>>"表示A"<<endl
return 0;
}
あれ?と思ったら、こうなってる。 もうだめポ
>139
お疎レススマソ

#define T_T 1

while(T_T) {
}
>>148
for(; ;) {
}
while("いつもより多く回っております"){
}
151デフォルトの名無しさん:02/02/23 17:54
変数名を考えるのに30分かかる(本人のバグです)
>151
日本語->ローマ字変換するエセ翻訳機をawkで作れば終了。
先頭から最長一致するものから変換かければオケー。
>150
いまは一人しかいないから余り多くは回らないとオモワレ。
154デフォルトの名無しさん:02/02/24 17:57
JavaでOutOfMemoryerrorを出させたくて作った奴

String itemList = new String[1500000];
int i = 0;
for(;;){
 itemList[i++] = "文字列"; // new String("文字列"); なら大丈夫
}

Vectorでやったら出たんだが、それは文字列作成の際のOutOfMemoryErrorではなく、Vectroの拡張の際のOutOfMemoryErrorだったらしい。
>>137
while (4545) {
++excite;
if(excite> MAX) break;
}
ejaculate(SPERM);
156デフォルトの名無しさん:02/02/26 08:25
scanf()系の挙動に悩む今日このごろ

#include <stdio.h>

int main()
{
FILE *fp;
char a[11];
int b;

a[0] = '\0';
b = 123;

fp = fopen("a.dat", "wt");
fprintf(fp, "%10s%5d\n", a, b);
fclose(fp);

fp = fopen("a.dat", "rt");
fscanf(fp, "%10s%5d\n", a, &b);
fclose(fp);

printf("%10s%5d\n", a, b);

return 0;
}
157アフォぷろぐらま:02/02/26 17:58
バグではないですが・・・
CDやFDのボタンと間違えてリセットボタンを押してしまい・・・
ソースが・・・(−人−)南無阿弥陀仏(チーン!)
158デフォルトの名無しさん:02/02/26 18:03
if(neko(nya(hunya("にゃーん"))){
//にゃーにゃ
}
System.out.println("恥かしい");
>>157
リセットボタンなるハードよりのスィッチははずしておこう。
>>157
リセットボタンにフタを付けるんだ!
スプレー缶のフタをかぶせて、ガムテープを蝶番のように貼るのが簡単。
カコワルイと思ったら透明アクリルか何かで工作すれ。
>>160
> スィッチ
読みにくいのは俺だけ?
163デフォルトの名無しさん:02/02/27 17:54
あーまたやった。。

/[^\t+]/
@Perl
164デフォルトの名無しさん:02/03/02 11:31
ついsを付けちゃう・・・
fscanf(fp, "%s[^,],%s[^,],%s[^\n]\n", a, b, c);
perlにて。
print OUT,"abc";
open OUT ">abc.txt";

やっちゃうんだよなあ。
ttp://www.ipa.go.jp/security/awareness/vendor/programming/a01_02.html
return '' if($url =~ m|[^;/?:@&=+$,A-Za-z0-9\-_.!~*'()%]|);

レアケースでなかなか発覚しない罠。
167デフォルトの名無しさん:02/03/02 22:20
よくswitch文の構文を忘れる……。
168デフォルトの名無しさん:02/03/02 22:27
dateとdataを間違える...
nameとnamaeを間違える...
prinf( ...

SQLとかでudpate
ちょっと大きめの適当な数字を入れるとき300とか400とか打つんだけど。
IMEがonのままだと「あわわ、うわわ」って出てきて、あわわになる。

バグじゃないんだけどね。
172デフォルトの名無しさん:02/03/04 16:16
>>171
仮名入力かよ!!
delete [] hoge;
って上の方で書いといて さらに
delete [] hoge;
174棄教者 ◆witdLTi2 :02/03/04 17:27
>>172
仮名入力 オレモナー
175VBer:02/03/04 23:22
pow=a^3
最初はマジで気づけなかった。。。
176デフォルトの名無しさん:02/03/05 02:02
思わずF5を連打してしまう。
177名無しさん@おひさまのよう。:02/03/05 02:34
>>175
Fotranでもだめじゃん
178デフォルトの名無しさん:02/03/05 02:38
int* a,b,c;
>>171
普通テンキーで入力しないか?
>>179
最近はノート使う人が多いんよ。
折れの会社の技術は、個人所有は過半数がノート。
181棄教者 ◆witdLTi2 :02/03/05 10:02
>>171,179-180
ぼくも会社に私物のノートを持ち込んでいるけど
わざわざ私物のTronキーボードも持ち込んでノートにつなげて使っている
これ最強 手が大きいからノートのキーボードは使いにくい
182デフォルトの名無しさん:02/03/05 12:08
プログラミング中にテンキーなんて使わんだろ?
>>182
DATAの打ち込み
>>182
DATA文の打ち込み
185デフォルトの名無しさん:02/03/05 12:40
ホームポジション外したくないから、滅多に使わない。<テンキー
- を押そうとして 0 を押した。
そういえばDATE(日付)をDATAと打つことがよくあります。
188デフォルトの名無しさん:02/03/05 21:45
UPDATE と UPDATA ってどっちが正しいの?
UPDATE
190デフォルトの名無しさん:02/03/05 22:36
VBとJava,C交互にやると
=と==とか;つけわすれとか・・・ああ嫌だ!
>>190
全角英字、ああいやだ。
192デフォルトの名無しさん:02/03/06 00:01
>>189
http://www.google.com/search?hl=ja&q=UPDATA&lr=lang_ja
君は、↑この人達は腐れ馬鹿だと言うのか?

やっぱUPDATERだろ。
UPTODATE
194デフォルトの名無しさん:02/03/06 23:18
and r1,r2,r3

add r1,r2,r3
を結構な頻度で間違えます。しかもアセンブラーは通ってしまうので
バグに気づきにくい
最近trueをture
showをshwoと打ってしまう・・・
196AIXer:02/03/07 00:25
SQL*Plusが立ち上がってるものだと思い込んで、
update ...
と打ってしまい、気がつくと変なコマンドが走っている。
197189:02/03/07 00:31
>>192
Bookshelfで調べたらupdataなんてなかったんだ。
updaterは・・・いや何もいうまい。
sennsei

okaasan
って呼んだりすることかな
…ン年前だが。
関係演算子に関して言えば、Pro*C の埋め込み SQL は最凶。
200200!:02/03/07 01:45
ミ゚Д゚#ミ200ゲットダゴルァ!!
200!
コンパイル時に弾くtypoは
バグとは言わん気がする
>>202
カタい事いなわい。
>198
漏れも小1のときやったよ。クラスのみんなの前で恥ずかしかった。
205デフォルトの名無しさん:02/03/13 06:05
else
206棄教者 ◆witdLTi2 :02/03/15 10:13
たった今 C++で elsif と書いてコンパイラに怒られた
Perlだと怒られないのに(;_;) 鬱だ 氏のう

>>198,204
理香ちゃん(仮名)に「美枝子ちゃん」(仮名)と話しかけて
殴り殺されそうになったことがありましたが 何か?
207204:02/03/15 20:16
>>206
それはまた別の問題。
208デフォルトの名無しさん:02/03/16 08:40
バグというか・・・人間のバグだが
MSNメッセンジャーにコードを入力・送信。
Enterを押した瞬間に鬱突入。
>>206
京子ちゃんに美加ちゃんと言って、ひどく落ち込んでしまったことがあるよ。
おれがなー。

関係ないのでさげ。
210デフォルトの名無しさん:02/03/18 12:52
白状しろ!
211デフォルトの名無しさん:02/03/18 16:15
懐かしいバッチファイルのコメントで。

rem
rem Usage: c:\>hoge -abc file1
rem
 :
 :

「なぜかカレントディレクトリにいっつも"hoge"っちゅう0バイトのファイルが
あるんだよな。。。消してもすぐできるみたいだし。。。ぶつぶつ」
どっちかっていうとM$のバグだなこりゃ。
213デフォルトの名無しさん:02/03/18 16:34
MFCだけど...
ON_CONTOL_RANGEを使ったときの、ハンドラのプロトタイプ宣言で、

 //}}AFX_MSG
 afx_msg void OnHoge(UINT nID);
 DECLARE_MESSAGE_MAP()

とすべきところを

 //}}AFX_MSG
 DECLARE_MESSAGE_MAP()
 afx_msg void OnHoge(UINT nID);

としても、デバッグビルドでは普通に動く。ところがリリースビルドにすると、
メッセージハンドラが呼び出された瞬間、落ちる。結構はまりますた。
>>209
禿しく心当たりが…!
まさかキミ、新潟県の南のほう出身じゃないだろうね?

これも関係ないのでsage。
215デフォルトの名無しさん:02/03/25 08:33
はけ!
if(a == 0);←悩む
{}

while(a = 1)←一生回ってろ

procedure a()←PascalとC一緒にやると混乱
beginend;
217棄教者 ◆witdLTi2 :02/03/25 11:17
>>216
バカなコーディング規約
http://pc.2ch.net/test/read.cgi/tech/1012715148/905
で指摘しましたが gcc に while( a=1 ) を食べさせるとコンパイラが怒ります
優秀なコンパイラを使いましょう

ちなみに 間違えないように 1==a のように
定数を左に 変数を右に書く習慣をつけましょう と主張している人が
無効には大勢いましたが 生理的に受け容れられません
いいことだとは思うのですが.
>>217
おいおい、どこに「大勢いた」んだ?
俺にはひとりもいなかったように思えたんだが。
具体的に誰が主張してたのか、レス番号で教えてくれ。
219デフォルトの名無しさん:02/03/25 12:31
一回ハマた。コンパイル通っちゃうんだよな。

int main(int argc, char *argv)
ずれてるが、”しっぱい”をなぜか”しっぱお”とうつ。
intとかsinとかはちゃんと打てるのに。
タイプミスはバグじゃねえYO!
222バグじゃないが:02/03/25 16:14
hogehoge001 = hogehoge002.hoge2;
  hoge3;

ただの消し忘れなんだけど、
バージョン管理が厳しいとこだったんで
ソースの書き換え許可されなかった。
(別の修正の時にコソーリ消した)
223棄教者 ◆witdLTi2 :02/03/25 16:31
>>218
>>217をよく読んで下さい そうです 「無効」なのです
224デフォルトの名無しさん:02/05/04 00:32
ifdefするときのtypoではまる。
>>220
よくやる。
なぜかしっぱおが多い。
226Java使い:02/05/04 00:36
Vectorをnewしないで、addしようとしてNullPointerException。
何回もやっちゃう。
if (0 == a&b)
>>227
if (0 == a&b)
if (1 & b)   if(0 & b)
if (bのLSB)  if(0)

ビット演算子の優先順位ミスは結構ハマる。
最近はとりあえずカッコをつけるようにしてる。

>>220
タイプミスといえば「の」を「んぽ」とか。
230デフォルトの名無しさん:02/05/04 11:05
 昔、文字列転送にstrcpy()でなくsprintf()使ってるやつがいて、
おかげで漢字の2バイト目に0x25('%')が入っていると時だけ文字化
けしてしまいエラくハマった。
 関数は目的に会ったものを使いましょう。(^^;

 とりあえずの対応で化ける文字が出るたびにフィルターで変換する
ようにしたが、3年ほどしてある時見てみるとそのフィルターが百行
以上に増えていた。
 おいおい、当面の対策に満足していないで余裕のあるときに問題の
根本的解決を図らないと駄目だろうが・・・(^^;
>>227
if文の数値が左辺にあるのはヤダなぁ。
↑同意
typoの一種だけど・・・(Java)

if(string1 == string2){ /*がいしゅつ*/ }

間違いに気づいて修正

if(string1.equals(string2){ }

中にメソッドが入ってるとすぐ閉じ括弧を忘れてしまう・・・。
>231
右辺だと間違って if (a = 0) やっちゃうから。
>233
もちっとマシなエディタ使えば?
>>234
またかよ。
本気でそんなことやる奴は馬鹿だし、
それで警告出さないコンパイラを使ってる奴も馬鹿だ
237棄教者 ◆witdLTi2 :02/05/04 18:09
if(a = 1)
この話は周期的にでてくるので、肯定派、否定派、いろいろいらっしゃると思いますが、
とりあえずご静粛にお願いします。
>>237
>>236の見解でほとんど一致してると思うが。
たまに来る厨房がアフォなことほざいてるだけだろ。
>>236
VCってデフォルトでは警告でなかったような。
あとBCCだと while((c=getchar())!=EOF) とかも
警告して柔軟性に欠ける。

…新人研修やってると、一々コンパイラオプションの設定方法教えたり、
警告の理由を説明したりするよか、「if(1==a) にすれ」 と言った方が
楽かもしれんと時に思ふ。
>>239
その辺で手を抜いちゃうとつぶしの利かない後輩が
ぽこぽこ出来て結局後で困るのでは?
>>240
よく課題で、

while((c = getchar()) != EOF)

ってよくあるんですが非推奨なんでしょうか?
そのgetchar()のループでしか使わないならいいと思うけど
それ以外ではあんまりおすすめできないなあ
>>241
Cのこういう表現は慣用句的な書き方だからね・・・。
244233:02/05/14 21:50
今日
if(string1 = string2){}
ってやっちまった。二重にだめじゃん。

・・・逝ってきます。
>>244
1.== -> =
2.string1、string2の型について触れてない>>224自身。
246 :02/06/08 02:18
hozen
247デフォルトの名無しさん:02/06/08 02:28
gcc で

while(!kbhit()){
248デフォルトの名無しさん:02/06/08 02:40
何が悪いのか分らん
249デフォルトの名無しさん:02/06/08 05:18
char* p = new char[16];
して
delete p;

つ〜か標準で auto_ptr の配列版入れとけと。
(boost の smart_ptr 使えばイイけどね)
250 :02/06/08 05:19
;をよく:にしちゃっててしかも気付かない・・・
>>250
ケコーン
awkでだけど、sprintf()の代入先を書くの忘れたらサーバが止まった。
スクリプト言語は怖いと思った。
253ななし:02/06/09 09:11
>>252
それは何言語でも同じじゃないかと…(fprintfをprintfにしてしまったり)
254デフォルトの名無しさん:02/06/10 15:59
void func( char szA[] )
{
    :
  if( strncmp( szA, szB, sizeof( szA ) ) ){
    :
    :
255デフォルトの名無しさん:02/06/10 17:33
251は馬鹿
256デフォルトの名無しさん:02/06/10 17:36
' "
257デフォルトの名無しさん:02/06/28 00:54
今日、はまった。

unsigned int i;
...
if(--i > 0) { <--A
 ...
}

if文の時点で i=0 になっていた場合、--i すると(゚д゚)マズー
size_tがunsignedというのもカナリ困ったチャンだと思うが
みなさんどうですか
大きさがマイナスであることは無いと思うが
ああ、こないだハマったよ
構造体メンバがintだと思ってたら実はsize_tだった
intだから負の値も入れられると思ってて、そこでお亡くなり
不様ね。
262デフォルトの名無しさん:02/06/29 08:54
こないだゼロ割しちゃったYO!
263デフォルトの名無しさん:02/06/29 10:19
intなんて滅多に使う機会が無い。
整数で負の値なんて使う?
使う
265263:02/06/29 11:09
>>264
え〜本当に使う?
unsigned intでも引算は出来るんだよ。
unsigned intじゃなくてintを使うということは
負の値をデータとして保持したい時だけだよ。
実数演算なら、浮動小数点型を使うだろうし・・。
javaにはunsignedがないのはどう解釈する?
267デフォルトの名無しさん:02/06/29 12:12
むしろ、わざわざunsigned使う意味って?
sizeof(int) * 8 / 4 + 1ビットのデータを扱いたい場合。
269デフォルトの名無しさん:02/06/29 13:46
vector<int> v;
void Restore(){
v.push_back(1);
}
void a(){

for(int i=0l;i<v.size();i++){
Restore(v[i]);
}

}
270263:02/06/29 19:50
>>266
JAVAが糞

>>267
精神が安定する。

>>268-269
DWORD使え。
なんだネタか
WSHを使ってるとVBScriptなのかJScript良くわかんなくなって
;やら関数コールを書きミスる.
更新履歴を書こうとした祭に更新内容を忘れる.本人にバグ有り
funcBを選択
/*
funcA();
/*/
funcB();
//*/

funcAを選択
//*
funcA();
/*/
funcB();
//*/

選択を間違える.
return OK;

return KO;
にする.
if( int a = 0; a < 10; a++)
{
}

これで、約30分はまった。
>>276
うわ、俺もしばらく何が悪いのかわからんかった。2分ほど悩んだ。
>>276
コンパイル通るか?
279棄教者 ◆witdLTi2 :02/07/02 08:30
>>276
コンパイラはこけるけど、こける理由が分からなかったという罠
コンパイラがはねるようなのはバグとはいわない罠
条件式に=!と入れたがために・・・先生に馬鹿にされる始末・・・
同じ間違いばっかりでスイマセンネ〜

つい=>とか=<とかも打っちゃうんだYO!ヽ(`Д´)ノウワアァン
>>274
素直に#ifdef使え
283デフォルトの名無しさん:02/07/05 12:53
;を:と間違えてしまう・・・
必死で関数とかスペルミスか、とか探してたらよく見るとコロン・・・。
鬱...
284デフォルトの名無しさん:02/07/05 12:59
if(a==0)
dx=1;dx=1;

{}なしifって最初の;までなのね・・・
basickerですか?
>>276
どこが悪いんだろうって思うと、()の中身にしか注意が
行かないんだよね。俺も2,3分悩んだ(w
,を使うって手はあるが、お勧めしない。素直にブロックにしとけってこった。
288デフォルトの名無しさん:02/07/05 17:54
ちょっと違うけど,
/bin/ 

/boin/
って打ってしまって,「ボインかよ!」
って一人ツッコミ。
さらに,
/sbin/

/sboin/
って打ってしまって,「スーパーボインかよ!」
ってまた一人ツッコミ。
>>288
クソ。2段オチか。。。ワラタ。
>>276
ぜんぜん分りません。教えて!偉い人。
実は>>284も二段落ちの予感
292デフォルトの名無しさん:02/07/05 22:15
>>290
人のハマりは見ていて楽しいな。

293棄教者 ◆witdLTi2 :02/07/06 00:45
>>284
氏んだ母の遺言で、while, for, if 等には必ず {}を付けていますが、何か?
294290:02/07/06 04:50
>>292
今ごろ分ったよ・・・。鬱だし脳。

>>276がやっと判った。
>>295
二週間近くも考えてたのかよ。w
297デフォルトの名無しさん:02/07/17 10:01
298デフォルトの名無しさん:02/07/17 12:24
>>296 だから if (0 = a) とか書けよとか言うと
煽りかとか思われそうだなぁとかおもいながらも書いてしまうテスト




                                 ……とかいってみても、一人
>298
そういう問題なの?
そういう問題じゃにぜ
301棄教者 ◆witdLTi2 :02/07/17 14:02
>>298
if( 0=a; 10 = a; a++)
は文法的に正しいのかと小一時間問いつめたい。
302デフォルトの名無しさん:02/07/17 14:24
>>281
英語に慣れると無くなるミスだよ。not equal, greater than or equal to.
出てくるたびにつぶやきながらタイプしれ。
≦だって小なりイコールって読むね。
int i = 0;
while( i < 10 )
{
  /* ここでiのインクリメントを忘れる */
}

forから、whileに替えたとき
>>304
この方が多い気が。

int i = 0;
while (i < 10)
{
if (exception_condition) {
/* ここでiのインクリメントを忘れる */
continue;
}

hoge();
i++;
}

continueを後から付け加えると忘れやすい
306棄教者 ◆witdLTi2 :02/07/17 18:30
最近慣れないC++を書いていますが、
今日、久しぶりにPerlで書いたプログラムのメンテナンスをしました。
でコメントに
// コメントだYO!
って書いてしまいました。
>>306
C++に慣れてるじゃん
308デフォルトの名無しさん:02/07/18 00:41
JDBCのResultSetからデータ取るときに
next()を忘れる。忘れておいて、これがまた気づかない。
メタデータ取ってみたり、本とか引っ張り出して調べたりする。
なんで最初からnext()がいるんだよ!!!
309デフォルトの名無しさん:02/07/18 01:19
今は list でも vector でもあるからいいのだけど、
自前で作ったリストのノードを破棄するときについつい

for (T* p=list_top; p!=NULL; p=p->next)
 delete p;
310デフォルトの名無しさん:02/07/18 01:22
"もし"を"もしも"と書いてしまう。(Byぴゅ、、)
もしもし?
(=^ω^)はぁい?
しね。
314セキュリティ:02/07/18 03:46
げぇむ星人の情報求む!!
http://www.gamecreators.net/
315デフォルトの名無しさん:02/07/18 07:36
>>290
ここは黙って見守るのが人として正しいな
316Del酎:02/07/18 20:35
リストものを最後まで回そうとして、

with XXXList do begin
 for i := 0 to Count do begin ← 急いでいて - 1 を忘れる
  ………
 end;
end;

で例外発生。
まあ、すぐわかるから被害はないんだけど…
317デフォルトの名無しさん:02/07/19 00:15
age
318ななし:02/07/19 00:19
>>316

Object Pascal か。
:=の大乳塩山市と名前欄見るまでわかんなかったよ。
(なんか、VBに似てるし・・・)
あ、よくみりゃ、beginがあるじゃん。(W
Java で
if (a == 1)
……
else
 ……

と {} を使わずに書いて、あとで
if (a ==1)
……
…… ←追加
else
 ……

としてハマる。

320デフォルトの名無しさん:02/07/19 01:35
Delphi で書くけど

for i := 0 to List.Count-1 do
if TMyClass(List[i]).xxx = XXX then
TMyClass(List).Free;

とか。

ほんとは TMyClass(List[i]).Free;
if-else の括弧は俺もよくやるな。だから単文でも必ず {}で
括るようにしてる。
Perlは必ずなきゃだめなんだよね・・・
323デフォルトの名無しさん:02/07/19 03:41
#ifndef HOGEHOGE
#define HOGEHOGE
のクルーズで重要な名前を潰して原因不明のコンパイラエラーに悩まされる。
クルーズ?
325デフォルトの名無しさん:02/07/20 21:50
mainて_cdeclなんだね
326デフォルトの名無しさん:02/07/21 00:07
でないと三個目の引数が追加とかできねーよ
327デフォルトの名無しさん:02/08/24 13:10
basicでgotoの行き先が決まるまでgotoの後空白にしてるのをそのまま実行してしまったりする
328デフォルトの名無しさん:02/09/05 16:11
今日やったバグ

public class Foo{
  private boolean anonymous = false;

  ...
  public void setAnonymous(boolean anoymous){
    this.anonymous = anonymous;
    reutrn;
  }
  ...
}
>>328
あーたまにそれやる。
だもんで、漏れは仮引数はnewAnonymousみたいに名前を変えて書くように心がけている。

たまたま今日それに従わないで書いて、みごとにバグッタ。

public void setAnonymous(Anonymous anonymous){
 /*this.*/anonymous.end();
 this.anonymous = anonymous;
 this.anonymous.start();
}
static Victor a=new Victor();
System.out.println("ABCDEFG"+s+"123"+r+"XYZ);
332棄教者 ◆witdLTi2 :02/09/06 09:20
strcatとstrcpyを間違えて昨日は2時間作業が停まった。
>>328,329
M-/
>>329
>>328はs/reutrn/return/ということでは。
しかしそれはバグとはいわない罠。
>>334
ぐあー気づかなかった。漏れのは↓に対するレス。
×:anoymous
○:anonymous
{
...
} while(...);
337デフォルトの名無しさん:02/09/14 11:03
>>328
ニガ手な英語使わないで'tokumei'にしたら?
>>337
分かりやすいし、
間違えにくそうだけど、
ちょとカコワルイ
339デフォルトの名無しさん:02/09/14 16:58
awk '{if($1=xxx)print $0}'

こういうのよくやる。
演算子の優先順位絡みのバグはよくやってしまう。
(u & 0x0000FFFF) == HOGE とすべきところを
u & 0x0000FFFF == HOGE
としてしまうとか。
>>334
あすまん、reutrn はタイプミス。
正解は引数の anonymous の書き間違いで this.A = A; みたいな結果になったこと
342デフォルトの名無しさん:02/09/14 18:32
>>340
オレはビット演算は常に括弧で囲む
commitし忘れ
reutrn 笑った。右手と左手とでタイプのタイミングが合わないとそうなる。
あるある
普通ははっきりと誤字るとそれとわかると思うけど
この場合自分じゃミスした気がしないのに文字がswapされてるんだよな
346デフォルトの名無しさん:02/09/14 22:51
#define BUFSZ 100

char buf[BUFSZ];
char *c;

c = buf;
memset( buf, 0x00,200);

の様な感じ。
347デフォルトの名無しさん:02/09/15 00:57
>>346
ちょっと良くわからんのだけど,このバグはcのせいなの?
348デフォルトの名無しさん:02/09/15 01:05
>>347
頭が悪い成果と

char *cつかってねーし。
bufが固定なんだから普通はsizeof使うだろ。
349デフォルトの名無しさん:02/09/15 01:15
>>348
うん。>>346がどういう意図で書いたのかが良く分からん。

#define BUFSZ 100
char buf[BUFSZ];
memset( buf, 0x00,200);

でいいじゃんね。
これならわかる
char buf[100];
char *c = buf;
memset(c, 0x00, sizeof(c));
初心者のころ、#define BUFSIZ ... とか書いて文句言われたときは正直困った
似たようなことだけど、自作クラスの名前と API の名前とぶつかることが。
WinAPI の PropSheet() も、名詞にしないでせめて CreatePropSheet()
くらいにしてほしかった。class PropSheet が通らなくてしばらく悩んだ。
PropSheet() じゃなくて PropertySheet() だ。
そこでクラスの名前を PropSheet にしたのだった。
C++なら、ネームスペースでもインチキクラスでも逃げれるけど、
Cだときついね。かなり。
そんで、「グローバルな識別子にはプリフィックスを付ける」なんて...。
355デフォルトの名無しさん:02/09/15 14:18
breakはif文を抜けるのにも使えると思ってしまう
356デフォルトの名無しさん:02/09/15 14:22
#include <studio.h>
>>355
それ出来たら、大変だよね
for(i=0,〜; i<N,〜; i++,〜)
 の部分でエラーが出て、
#define N 〜
 の方にバグがあることにしばらく気付かない。
359デフォルトの名無しさん:02/09/15 17:24
>>354
ネームスペース使ってもマクロからは逃げられない。
namespace ore {
class MyClass{
  CreateWindow()
}
}
エラー
CreateWindowA()に不正な〜つの引数がうんたらかんたら…。死ね!>MS
360デフォルトの名無しさん:02/09/15 17:27
あと,Winで
class Window
作って,Xに移植したらエラー。何事かと思ったら
typedef Window int; 氏ね!
>>360
そういう時にnamespaceを使えばいいんでは
>>361
あれ?そうだよな…。
いや,何か違うんだ。
原因は何だったか忘れたがWindowという識別子が
namespace使ってもぶつかってたんだよ。
#defineだったかな…?うろおぼえスマソ
363デフォルトの名無しさん:02/09/16 00:29
スクリプト言語で、変数名タイプミス。
コンパイルしない言語は俺には向いてないみたいだ。
>>363
スクリプト言語だってエラー吐くじゃん。

型宣言なしの言語のことだよね?
template<class T> T ToRadian(T deg)
{
 return deg*T(M_PI/180.0);
}

float rad = ToRadian(30);

むかしこれハマッタ
数値でかつ非整数のみ認めるとか

template<class T> T ToRadian(T deg)
{
BOOST_STATIC_ASSERT(std::numeric_limits<T>::is_specialized && !std::numeric_limits<T>::is_integer);
return deg * T(M_PI/180.0);
}

printf("整数型変数Aの内容は\dです",a);

printfならいいけどsprintfとかでやっちゃって
かなり意味不明な挙動になった
>>367
ワラタ
369デフォルトの名無しさん:02/09/17 11:48
大幅に実装書き換えた時、コンパイルで1個も警告・エラーが出ないと
逆に不安になる漏れは余程ダメPGなんでしょうか?
>>369
わかる
>>369わかるのが悲しい・・・
テストでバグがでなくても不安
やっぱ悲しい
あるねそれ。でやっぱり不安的中で実行時エラーなんか
起きちゃったりして
秀丸で「[^=+-*/<>|&~!]=[^=]」を強調表示するようにしてから

if ( a = b ) /*本当はa==bを判定したい*/

というミスが無くなった
秀丸イヤン。
俺TeraPad派。
375374:02/09/17 17:37
あ,プログラムするのはMeadow(かEmacs)だよ。
TeraPadはビューワ
とりあえずエディタ論争防止sage
該当スレでやってね
377374:02/09/17 18:31
>>376
あ,ごめんね。不適切でした(反省)
勝手ながら終了ということでよろしく>all
某スレで質問したんだが、

String s = "XMLの内容";
DOMParser parser = new DOMParser();
InputSource source = new InputSource(new StringReader(s));
parser.parse(s); // 正解はsource。オーバーライドでファイル名とみなされてしまう。

sなんていう変数名じゃなくてxmlStringとかしておけばミスはしなかったのに。
あと、今回に限ってはハンガリアン記法バリバリのプログラミングが懐かしかった。
// 正解はsource。オーバーライドでファイル名とみなされてしまう。

このインターフェースは最低だな
>>379
そうは思わないが
>>379
そう思うよ
382デフォルトの名無しさん:02/09/24 16:51
// 正解はsource。オーバーライドでファイル名とみなされてしまう。
オーバーロードじゃなくてか?
"xmlString"っつー変数名もどうかと思うが。
384デフォルトの名無しさん:02/09/24 17:10
バクはダメですよ♪
385デフォルトの名無しさん:02/09/24 17:13
よくハグハグしますよ。
386デフォルトの名無しさん:02/09/24 17:18
はぐはぐちゃんってなに?
>>382 ごめん、オーバーロード。
>>383 そういう時はどんな名前にする?
>>378-382
大本の IBM XML Parser 作った AlphaWorks の何とかさんが (あの頃ソース読んだ限り)
Java の勉強中だったようだしね。
あー、xml4jね。去年まで使ってたけど、全然知らなかった。(汗
>>389
結構バグあったしね。引数なしの SAXException で printStackTrace() しようと
すると NullPointerException 上がったり (それを標準のパーサーが上げて
くるからかなわん)。ソース追ったけど完全な単純バグ。

SAXException ex = new SAXExcetion();
ex.printStackTrace();   // NullPointerException が出る

ちなみに最初に作ったのは IBM の田村とかいう名前だった (下の名前忘れた)。