わいえむねっと

Contents
Categories
Calendar
2026/11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Monthly Archives
~2000/01
Recent Entries
RSS1.0
Templates
Information
Processed: 0.056 sec
Chashed: -
2007/04/11 Wed
珍しく本社に来てた同期が遠巻きにこっちを見ながら隣と何か話しているのでなんだと思ったら、

「あれって病気?」

とか聞こえてきて吹いたのが昨日の話。小坂那也です。(挨拶)
病気って。
そんなにか。
否定したら病的と言い直されました。
それなら可。(変わんねぇよ) 春特有の感覚。
そして豚角煮まん。 新人教育担当とmain関数の話になり、

・戻り型は省略するとintになったような
・return;だと不定値が返ったような
・mainは他の関数と扱いが違ったような
・CとC++でも違ったような

とか、ひどく記憶が曖昧だったので試してみてまとめ。
コンパイラはBCC5.5.1。
システムによってはそもそも戻り型がないものもあるとかなんとか。

 {return 0;}{return;}{}
Cvoid main()W8081  
int main()  W8070
main()  W8070
C++void main()E2467  
int main() E2292 
main() E2292 
void foo()E2467  
int foo() E2292W8070
foo() E2292W8070

警告 W8070 foo.c xxx: 関数は値を返すべき(関数 main )
警告 W8081 foo.c xxx: void 関数は値を返してはならない(関数 main )
エラー E2292 foo.cpp xxx: 関数は値を返すべき(関数 main() )
エラー E2467 foo.cpp xxx: 'main()' は値を返せない(関数 main() )
無糖ブラックは3本。
やるせない。
まだまだカレーまん。
2007/04/10 Tue
シャワーを浴びて。
もってけ!セーラーふくをmp3変換して。
TopTangentにコピーして。
TEPRAをカバンに詰め込んで。
豚角煮まんをくわえて。
出発だ。 引き続きメイクファイルをこねくり回す。
メンテしやすくしようと重複記述を極力減らすためにincludeを多用しているうちに自分にしかメンテできないシロモノになってきたので単純な構成に書き直す。
まぁ、こんなもんか。
一応まだこれが仕事だという自覚はあるようです。安心した! これはひどいシーケンスですね。 なんでXML::Simpleだけ4/7に更新されてるのっさ。

$ls -l /usr/local/lib/perl5/site_perl/5.8.6/XML
total 324
drwxr-xr-x    2 root     root         4096 Nov 30  2005 DOM
-r--r--r--    1 root     root       110674 Jul 26  2005 DOM.pm
-r--r--r--    1 root     root        12109 Nov  6  2004 DTDParser.pm
-r--r--r--    1 root     root        19968 Oct 22  2003 ESISParser.pm
drwxr-xr-x    2 root     root         4096 Nov 30  2005 Handler
-r-xr-xr-x    1 root     root        20698 May 13  2005 NamespaceSupport.pm
drwxr-xr-x    2 root     root         4096 Dec 31  2005 Parser
drwxr-xr-x    2 root     root         4096 Nov 30  2005 PatAct
-r--r--r--    1 root     root         2576 Oct 22  2003 Perl2SAX.pm
-r--r--r--    1 root     root         6065 Jun 20  2001 RegExp.pm
drwxr-xr-x    3 root     root         4096 Nov 30  2005 SAX
-r--r--r--    1 root     root         9239 Oct 25  2005 SAX.pm
-r--r--r--    1 root     root         6486 Oct 22  2003 SAX2Perl.pm
drwxr-xr-x    2 root     root         4096 Apr  7 03:37 Simple
-r--r--r--    1 root     root        91171 Oct 30 17:28 Simple.pm
無糖ブラックは4本。
2007/04/09 Mon
今週も豚角煮まんから始まる。
豚角煮まんから始まるミラクルだってあるよね。(ねぇよ)
歌詞を検索したら英訳の仕事をした普通の人の日記がでてきて吹いた。
きゅいん!って! 日がな一日makeの構成をこねくり回していたようなそんな日。
無糖ブラックは4本。 全社的に残業について規制が設けられる模様。
残業手当を割増にした上で時間を削減とかなんとか。はぁ。
体制を見直して負担のばらつきをどうにかすることを先に考えればいいのに。
そんなことより自主サービス残業を許可する制度をつくってくれと言いたい。というか次の面談で言う。 とりあえず定時退社をしてみる。
会社の前でカレーまんをかじりながら降りしきる雨を茫と眺める。
精神衛生上良くない。
2007/04/08 Sun
文中にtextareaを挿入するために改行コードを挿入するマクロを追加したりとかスクリプトを微修正。 秋葉原。
本当にオークションでしかものが手に入らなくなってきたなとげんなりする。
中古メモリを買おうとして店員の対応にげんなりする。
マウスを7個買って帰る。(会社用) mixiの更新表示がおかしくなっていてなんだえー微修正したせいか?と思ったら、どうも借鯖のPerlが更新されてモジュールが追加された様子。そんなアナウンスなかったのですが。
ソート部分をいじったモジュールをローカルに置いて使っていたので、追加されたことで本来の形で出力されてしまっていたと。そして本来の形だと誤認識されると。
とりあえずローカル側から無理矢理読み込むようにしてお茶を濁す。
そもそもXML::Simpleを使っているのが悪いといえば悪いのだけれど。ファイルの先頭7件しか読まないてのはどうなのさ。dc:dateのTZDも無視されるし。
http://www.w3.org​/TR/NOTE-datetime
2007/04/07 Sat
半日くらい寝ていた気がする。 出かけようとしたけれど微妙に雨が降ってきたので電車で出かけるのをやめて90度折れ曲がって線路沿いをてくてく。
PC DEPOTで会社で使うPC接続専用TEPRAとかを買ったりなんだり。SR-3500P。 会社で廃棄されるところをサルベージしてきたCF-M1ER。
年末年始の放浪ではホテルの予約に地図の閲覧にと活躍しましたが、内臓バッテリが5分と持たないのは悲しすぎるのでバッテリの購入を考えたり、でも98ノートじゃないしなと思ったり。
とりあえず備忘録。
バッテリの種類は以下。

CF-VZSU10J(標準バッテリ)
CF-VZSU11J(大容量バッテリ)
CF-VZSA44J(拡張バッテリ)
http://www.mylets​.jp/option/index1.htm​l

ヤフオクでへたったバッテリを購入して、バッテリリフレッシュサービスを利用するのがいいんじゃなかろうかと。
ただし、拡張バッテリは部品不足とかで終了している模様。
大容量バッテリの容量が標準バッテリの3倍とかあるようなので、どうせなら大容量バッテリか。


大容量バッテリと同容量の補助バッテリなんてのも。

バッテリといえば、sigmarionIIIの予備バッテリも押さえておきたいところ。
http://www.rowa.c​o.jp/cabinet/form.cgi?no=652
http://www.rowa.c​o.jp/cabinet/form.cgi?no=711
2007/04/06 Fri
豚角煮まんがないのでジューシー肉まん。 ルーチンワークと化した仕事以外の生活を淡々と記録し続けるのも飽きてきたのでというかルーチンそのものには飽きていないのですがまぁとにかくそれはそれとして、メモを残していたり残していなかったり残していないので忘却したり残していてもどこかにやったか忘却したりするような事柄を書いたり書かなかったり酒を飲んでは虚ろな目をしてみることにする。
最後のは余計です。
その前のは今までと変わらないし。
そんな感じで適当に。 structなコンテナに対してalgorithmのsortを使用すると、VisualC++2003では

algorithm(1719): error C2676: 二項演算子 '<' : 'std::allocator<_Ty>::value_type' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。 (新しい動作; ヘルプを参照)
algorithm(1720): error C2676: 二項演算子 '<' : 'std::allocator<_Ty>::value_type' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。 (新しい動作; ヘルプを参照)
algorithm(1719): error C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : 'const std::_Tree<_Traits> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1720): error C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : 'const std::_Tree<_Traits> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1719): error C2784: 'bool std::operator <(const std::deque<_Ty,_Alloc> &,const std::deque<_Ty,_Alloc> &)' : 'const std::deque<_Ty,_Ax> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1720): error C2784: 'bool std::operator <(const std::deque<_Ty,_Alloc> &,const std::deque<_Ty,_Alloc> &)' : 'const std::deque<_Ty,_Ax> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1719): error C2784: 'bool std::operator <(const std::list<_Ty,_Alloc> &,const std::list<_Ty,_Alloc> &)' : 'const std::list<_Ty,_Ax> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1720): error C2784: 'bool std::operator <(const std::list<_Ty,_Alloc> &,const std::list<_Ty,_Alloc> &)' : 'const std::list<_Ty,_Ax> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1719): error C2784: 'bool std::operator <(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : 'const std::pair<_Ty1,_Ty2> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1720): error C2784: 'bool std::operator <(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : 'const std::pair<_Ty1,_Ty2> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1719): error C2784: 'bool std::operator <(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt> &)' : 'const std::reverse_iterator<_RanIt> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1720): error C2784: 'bool std::operator <(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt> &)' : 'const std::reverse_iterator<_RanIt> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1719): error C2784: 'bool std::operator <(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : 'const std::vector<_Ty,_Ax> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1720): error C2784: 'bool std::operator <(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : 'const std::vector<_Ty,_Ax> & 用のテンプレート引数を 'std::allocator<_Ty>::value_type' から減少できませんでした。
algorithm(1720): fatal error C1903: 直前のエラーを修復できません。コンパイルを中止します。

gcc3.4.3だと

stl_algo.h: In function `void std::partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]':
stl_algo.h:2470:   instantiated from `void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Size = int]'
stl_algo.h:2553:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_algo.h:2274: error: no match for 'operator<' in '(&__i)->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]() < (&__first)->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]()'
stl_algo.h: In function `const _Tp& std::__median(const _Tp&, const _Tp&, const _Tp&) [with _Tp = foobar]':
stl_algo.h:2482:   instantiated from `void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Size = int]'
stl_algo.h:2553:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_algo.h:90: error: no match for 'operator<' in '__a < __b'
stl_algo.h:91: error: no match for 'operator<' in '__b < __c'
stl_algo.h:93: error: no match for 'operator<' in '__a < __c'
stl_algo.h:97: error: no match for 'operator<' in '__a < __c'
stl_algo.h:99: error: no match for 'operator<' in '__b < __c'
stl_algo.h: In function `_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, _Tp) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Tp = foobar]':
stl_algo.h:2482:   instantiated from `void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Size = int]'
stl_algo.h:2553:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_algo.h:2014: error: no match for 'operator<' in '(&__first)->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]() < __pivot'
stl_algo.h:2482:   instantiated from `void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Size = int]'
stl_algo.h:2553:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_algo.h:2017: error: no match for 'operator<' in '__pivot < (&__last)->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]()'
stl_algo.h: In function `void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]':
stl_algo.h:2199:   instantiated from `void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
stl_algo.h:2554:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_algo.h:2117: error: no match for 'operator<' in '__val < (&__first)->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]()'
stl_algo.h: In function `void std::__unguarded_linear_insert(_RandomAccessIterator, _Tp) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Tp = foobar]':
stl_algo.h:2123:   instantiated from `void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
stl_algo.h:2199:   instantiated from `void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
stl_algo.h:2554:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_algo.h:2070: error: no match for 'operator<' in '__val < (&__next)->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]()'
stl_heap.h: In function `void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Distance = int, _Tp = foobar]':
stl_heap.h:364:   instantiated from `void std::make_heap(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
stl_algo.h:2272:   instantiated from `void std::partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
stl_algo.h:2470:   instantiated from `void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Size = int]'
stl_algo.h:2553:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_heap.h:216: error: no match for 'operator<' in '(&std::reverse_iterator<_Iterator>::operator+(typename std::iterator_traits<_Iterator>::difference_type) const [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >](__secondChild))->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]() < (&std::reverse_iterator<_Iterator>::operator+(typename std::iterator_traits<_Iterator>::difference_type) const [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]((__secondChild - 1)))->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]()'
stl_heap.h: In function `void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Distance = int, _Tp = foobar]':
stl_heap.h:227:   instantiated from `void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Distance = int, _Tp = foobar]'
stl_heap.h:364:   instantiated from `void std::make_heap(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
stl_algo.h:2272:   instantiated from `void std::partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
stl_algo.h:2470:   instantiated from `void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Size = int]'
stl_algo.h:2553:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_heap.h:121: error: no match for 'operator<' in '(&std::reverse_iterator<_Iterator>::operator+(typename std::iterator_traits<_Iterator>::difference_type) const [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >](__parent))->std::reverse_iterator<_Iterator>::operator* [with _Iterator = __gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > >]() < __value'

とか怒られる。
<演算子がないとのことなので

struct foobar
{
    int foo, bar;

    bool operator <(foobar& r)
    {
        return foo < r.foo;
    }
};

のようにすると、VisualC++では怒られなくなるが、gccでは

stl_algo.h: In function `const _Tp& std::__median(const _Tp&, const _Tp&, const _Tp&) [with _Tp = foobar]':
stl_algo.h:2482:   instantiated from `void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >, _Size = int]'
stl_algo.h:2553:   instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = std::reverse_iterator<__gnu_cxx::__normal_iterator<foobar*, std::vector<foobar, std::allocator<foobar> > > >]'
foobar.cc:xxx:   instantiated from here
stl_algo.h:90: error: no match for 'operator<' in '__a < __b'
foobar.cc:xxx: note: candidates are: bool foobar::operator<(foobar&)
stl_algo.h:91: error: no match for 'operator<' in '__b < __c'
foobar.cc:xxx: note: candidates are: bool foobar::operator<(foobar&)
stl_algo.h:93: error: no match for 'operator<' in '__a < __c'
foobar.cc:xxx: note: candidates are: bool foobar::operator<(foobar&)
stl_algo.h:97: error: no match for 'operator<' in '__a < __c'
foobar.cc:xxx: note: candidates are: bool foobar::operator<(foobar&)
stl_algo.h:99: error: no match for 'operator<' in '__b < __c'
foobar.cc:xxx: note: candidates are: bool foobar::operator<(foobar&)

とかまだ怒られる。
これにSTLFiltを適用すると、

BD Software STL Message Decryptor v2.47a for gcc
stl_algo.h: In function
   `const foobar & __median(const foobar &, const foobar &, const foobar &)':
    [STL Decryptor: Suppressed 2 more STL standard header messages]
foobar.cc:xxx:   instantiated from here
stl_algo.h:90: error: no match for 'operator<' in '__a < __b'
stl_algo.h:91: error: no match for 'operator<' in '__b < __c'
stl_algo.h:93: error: no match for 'operator<' in '__a < __c'
stl_algo.h:97: error: no match for 'operator<' in '__a < __c'
stl_algo.h:99: error: no match for 'operator<' in '__b < __c'

STL Decryptor reminders:
    Use the /hdr:L option to see all suppressed standard lib headers
    Use the /cand:L option to see all suppressed template candidates

のようになる。
constでないのが原因なようなので、

struct foobar
{
    int foo, bar;

    bool operator <(const foobar& r) const
    {
        return foo < r.foo;
    }
};

とかそんな感じに。 STLFilt。
STL絡みのよくわからないエラーメッセージをどうにかするフィルタ。
gccでしか試していないけど、VisualC++にも対応している模様。
アーカイブに含まれるgfiltとgSTLFilt.plを適当に配置して、gfiltの下記あたりを環境に合わせて書き換える。

COMPILER=c++                            # Your g++ compiler command
STLFILT=$HOME/gSTLFilt.pl               # Where you've placed the Perl script

あとはコンパイラをgfiltに置き換えてコンパイルするだけ。
エラーメッセージがどうにかなって出力されるので、唸ったり納得したりする。
http://www.bdsoft​.com/tools/stlfilt.ht​ml
2007/04/05 Thu
3時就寝。
二度寝して8時。
豚角煮まんを食べながら出社のいつもの朝。 マージしてコーヒー飲んでマージしてコーヒー飲んでマージしてコーヒー飲んでマージしてコーヒー飲んで。
無糖ブラック4本。
酒気が足りない。 カレーまん。
2007/04/04 Wed
そうですよ。豚角煮まんですよ。 makeされていないのに

make: `all' に対して行うべき事はありません。

の一点張りでなんだえーと思ったら、

$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@

の$^に指定したファイル以外に$@.oが含まれているような。
ダミーファイルを置くと通るし。
というか、それならそれでそれらしいメッセージを吐いてくれよと。 無糖ブラック4本。 そうですよ。カレーまんですよ。
2007/04/03 Tue
3時就寝。
3時半に上の階から大きな物音。
4時に寝るのをあきらめる。
1年くらい前に書いたツールのコードを手直ししたりなんだりで5時。
そろそろ出発して寝たり寝過ごしたりしつつ出勤するかと思いきや気が付いたら7時。
っえ?落ちてた!
そんなこんなで普通に出社する。
なにがどうなら普通なんだというか。
左手に雨傘。右手に特製肉まん。心に花束。 無糖ブラック3本。 コミット三昧。 誰かがヒープを破壊しているので帰ります。
2007/04/02 Mon
うっかりsigmarionIIIにPocketWZをインストールしてしまったので4時。
なんだその理由。
キーボードマクロに正規表現検索、色分けにも正規表現が使用できかつ軽快。アウトラインもショートカットで操作可。
これなら電車内で普通にコード書けるなーと。 二度寝を経て7時半起床。
豚角煮まんはスルーしてまっすぐゴー。
遅延証明を受け取ってデイリーで肉まん。
そんな朝。
おはようございます。
体調不良です。
コーヒーを飲む気がしないので水を。 でも結局飲む。
無糖ブラック3本。
と思いきや当たって4本。 入社式と歓迎会。
テンションが低すぎて副社長の話を聞き流しながら延々とため息をついていたりで後輩から心配されたりしましたが、ウィスキー飲んだら元気に。すごく元気に。
そしていつものように飲みすぎる。
月曜ですよ!
先週の月曜も飲んでいた気がしますけど。
今年度もこんなでしょうか。5年目。