STLスレッド part2

このエントリーをはてなブックマークに追加
466デフォルトの名無しさん
VisualC++ 6(SP5)でSTLを使っています。
戻りがvoidなメンバ関数を std::mem_fun() すると、
error C2562 (voidが戻りの関数で値を返そうとした) と怒られ、
コンパイルできません。

これは確かVCの有名な不具合だったと思うのですが、うまい回避方法って
ないのでしょうか? いまは、仕方がないので関数の戻りを意味もなくbool
にしています。

なにか知恵をくださいませ。
467デフォルトの名無しさん:02/10/05 18:04
stlport-4.5,boost-1.28をdebian(testing)に入れてg++-3.2から
使おうと思ったのですが、不可解なコンパイルエラーがたくさん出て
困っています。同様の環境で使われている人はいらっしゃいますか?
とくに/usr/include/boost/*/detail/*hppのファイルにおいて
たくさんのシンタックスエラーが発生します。

テストしてみたサンプルは以下のような簡単なものです。
$cat test1.cc
#include<boost/lambda/lambda.hpp>
int main(){
  boost::function<int,int,int> f;
}
$g++-3.2 test1.cc -o test1 -lboost_thread \
  -I/usr/include/g++-3/ -I/usr/include/stlport/

何か助言があれば教えてください
>>463
compose2はf(g(x))のような合成関数を導くアダプタのようですね。
>>466
boost::mem_fn。これ。

>>467
1.28だとgcc3.2リリースより前の版だから、知らないコンパイラだぞゴルァという
警告が大量に出るが、それではなくて他にもエラーが出るのか?
とりあえずlambdaを使いたいのかfunctionを使いたいのかthreadを使いたいのか
はっきりしてから、最初の一個のエラーメッセージくらい貼り付けれ。

つーか、STLと別にboostスレ建てた方がよいかもね...