[過去ログ] Boostを語れゴラァ part4 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
848: 833 [] 2007/10/06(土) 21:14:28 AAS
>>846
だー
クラス外で初期化するんじゃ、全然コンパイル時の計算にならんですね。orz。
849: デフォルトの名無しさん [sage] 2007/10/06(土) 21:50:30 AAS
つーかな

enum{
AAA = "a"[0]
};

をコンパイルしたら分かると思うけど
"a"[0] という式がもうコンパイル時定数式とならないからムリなの。
850
(1): デフォルトの名無しさん [] 2007/10/06(土) 22:03:13 AAS
おっしゃるとおりで。
C++0xでは何か変化あります?
851: デフォルトの名無しさん [sage] 2007/10/06(土) 23:34:58 AAS
おまいらDに負けそうですよ
852
(3): デフォルトの名無しさん [sage] 2007/10/06(土) 23:58:02 AAS
namespace po = boost::program_options ;

po::options_description desc("options") ;
desc.add_options()
  ("hage", po::wvalue< std::wstring >()->default_value("Bjarne Stroustrup") , "hage")
 ;

このコードをコンパイルしようとすると、std::wstringからstd::stringへ、lexical_castしようとしてエラーになるのですが、
あきらめるしかないのでしょうか?
853: デフォルトの名無しさん [] 2007/10/07(日) 00:01:44 AAS
脊髄で答えるけど、禿かビャーネスポスポのどちらかor両方にLをつけてないからじゃないの?
L"hage" な。
854: デフォルトの名無しさん [sage] 2007/10/07(日) 00:05:43 AAS
書き間違えてました。
ちなみに、

Lを付けないと、default_valueはstd::wstringを引数に取るのでコンパイルエラー
Lを付けると前述の通り。
855: デフォルトの名無しさん [sage] 2007/10/07(日) 00:26:09 AAS
>>852
> Throughout this document "Unicode support" is a synonym for "char to wchar_t conversion" support
856: 852 [sage] 2007/10/07(日) 00:52:03 AAS
今日3時に書いた自分のブログの愚痴が、もうgoogleに拾われて、しかも上位に来るとか、何のギャグですか。
857: デフォルトの名無しさん [sage] 2007/10/07(日) 00:56:47 AAS
虫さんか。
まぁ、po使ってる奴が少ないんだろうさ。
858: デフォルトの名無しさん [sage] 2007/10/07(日) 01:24:32 AAS
調べ者してたらgoogleの三番目に出てきたページが
過去に自分がこの板で質問した内容だった時の脱力感
859: デフォルトの名無しさん [sage] 2007/10/07(日) 01:27:07 AAS
Boost使いなどみんなそんなもんだ。
>>826 でいうと大体いなくなったからな。
860: デフォルトの名無しさん [sage] 2007/10/07(日) 03:58:10 AAS
最近boostを知ったんだけどかなり使えそうだね
これ知らずにC++やってた(/д\;)ハズカシ
861: 852 [sage] 2007/10/07(日) 04:10:44 AAS
自分で書き換えてやろうかとおもったら、
なんか意外とあっさりできてしまった。

boost/program_options/value_semantic.hppに

#include <boost/program_options/detail/convert.hpp>

を付け加えて、

typed_valueのプライマリテンプレートの下に、次のメンバ特殊化を付け加えればいい。
template<>
  typed_value<std::wstring, wchar_t> *
    typed_value<std::wstring, wchar_t>::default_value(std::wstring const & v)
{
  m_default_value = boost::any(v);
  m_default_value_as_text = boost::to_utf8(v);
  return this;
}

メンバ特殊化って便利だね。
862
(2): デフォルトの名無しさん [] 2007/10/07(日) 04:40:00 AAS
C++相談室part56のこれ相当のものって、Boostに入ってますか?

template<typename T, size_t N> char (&lengthof_helper_char_array(T (&a)[N]))[N];
#define lengthof(a) (sizeof(lengthof_helper_char_array(a)))

Rangeのsize()はちょっと違うよね。
863: 862 [] 2007/10/07(日) 05:33:37 AAS
http://www.ddj.com/cpp/197800525?pgno=7 の方法で長さを出す奴でもかまいません。

// a struct defined such that sizeof(Size<N>::Type) == N
template<int N>
struct Size
{
     typedef char Type[N];
};
// returns an object whose size is the number of
// elements in the passed array
template<typename T, int N>
typename Size<N>::Type& count(const T(&array)[N]);

で、sizeof(count(a)) という。
864
(1): デフォルトの名無しさん [sage] 2007/10/07(日) 10:47:01 AAS
>850
既に規格draft に入ってる
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2369.pdf
見てる限りでは "a"[0] も constant expression になりそうな気がする。
あるいは、直接は無理でも

constexpr char A[] = "a";

としておいて、A[0] だったら通るのかな?
これだと結局単純には template では使えなくて、>845 の上みたいなことをする必要があるかもしれないけど。

>862
コンパイル時定数として使えるものというのなら TypeTraits の extent が使えそうな気がする。
865: デフォルトの名無しさん [] 2007/10/07(日) 11:28:18 AAS
http://www.boost.org/doc/html/boost_typetraits/reference.html#boost_typetraits.extent
ですか?
866
(1): デフォルトの名無しさん [sage] 2007/10/07(日) 11:39:34 AAS
>>864
extentだと変数ではなく型を渡す羽目になるような。
typeofがあることを前提とするなら問題ないけど。
867: デフォルトの名無しさん [] 2007/10/07(日) 19:30:20 AAS
>>866
VC8って結局boostのtypeofは使えるの?つかえ内の?
868
(5): デフォルトの名無しさん [] 2007/10/07(日) 21:38:48 AAS
今朝Boostを知った新参者です。
コンパイラはVC++6を使ってます。

質問ですがBoostのmatrixを使って、
複素数の行列の計算は可能でしょうか。
実数行列matrix<double>
複素行列matrix<complex>
のような感じにしたいのですが。
complexは標準ライブラリのを使おうと思ってます。
(他に推奨ありますか?)

よろしくお願いします。
869
(1): デフォルトの名無しさん [sage] 2007/10/07(日) 21:47:48 AAS
VC6か……
stlportでもいれないとな…
870
(1): デフォルトの名無しさん [sage] 2007/10/07(日) 21:50:17 AAS
VC6か・・・・
871
(1): デフォルトの名無しさん [sage] 2007/10/07(日) 21:51:11 AAS
vc6か。。。。
872
(1): 868 [sage] 2007/10/07(日) 21:53:03 AAS
ええっ
VC6の時点で試合終了ですか
873
(1): デフォルトの名無しさん [sage] 2007/10/07(日) 21:58:55 AAS
まだサポートしてたっけ
VS2005にすれば
874
(1): デフォルトの名無しさん [sage] 2007/10/07(日) 22:00:35 AAS
諦めたらそこで試合終了だy・・・VC6か・・・諦めたら?
875: デフォルトの名無しさん [sage] 2007/10/07(日) 22:01:05 AAS
vc2005EE + WTL で無料でwinアプリ作れちゃうよ
876: デフォルトの名無しさん [sage] 2007/10/07(日) 22:03:32 AAS
微笑ましいなw
877: 868 [sage] 2007/10/07(日) 22:06:33 AAS
とりあえずstlportを入れてみました。
これで何とかなりますか?
878
(1): 868 [] 2007/10/08(月) 00:14:19 AAS
何かもう駄目っぽい気がしたので、とりあえずcomplexは保留します。
(できれば知りたいですが)

実数行列だけ考えることにして、ためしに
http://www.page.sannet.ne.jp/d_takahashi/boost/ublas/index.html#SEC4
↑ここにある
連立方程式を解く
の例にあるコードを、そのままコピーして
ビルドしようとしましたが
\boost_1_32_0\boost\numeric\ublas\lu.hpp(131) : error C2780:
'const class boost::numeric::ublas::matrix_indirect<M,class
boost::numeric::ublas::indirect_array<A> > __cdecl boost::n
umeric::ublas::project(const class boost::numeric::ublas::matri
x_indirect<M,class boost::numeric::ublas::indirect_array<A> >
&,const class boost::numeric::ublas::indirect_array<A> &,const cl
ass boost::numeric::ublas::indirect_array<A> &)' : 3 引数が必要で
す - 2 が設定されます。
↑こんな感じのエラーが大量に発生してやばいです。

よろしければ、この解決策を教えていただけないでしょうか。
879: デフォルトの名無しさん [sage] 2007/10/08(月) 00:18:45 AAS
VC2005を入れろ
880: デフォルトの名無しさん [sage] 2007/10/08(月) 01:25:39 AAS
素直にVS2005のEEでも、入れろよ。
みたところATLやMFCが必要だとは思えんし。
881: 868 [] 2007/10/08(月) 03:41:01 AAS
VC2005入れたらエラーも発生せずできました。
3時間くらい悩んだりしていた甲斐があったと思います。

これは行列の固有値計算もできるんですか?
882: 868 [sage] 2007/10/08(月) 03:56:05 AAS
アッー!
matrix<complex<double>>
もできた。
さっきはできなかったのに
なんかもう、色々許せない。VC6は許せない。
883: デフォルトの名無しさん [sage] 2007/10/08(月) 04:01:14 AAS
>>869-874 を噛みしめておけw
884
(1): デフォルトの名無しさん [sage] 2007/10/08(月) 10:16:03 AAS
boost::regexでsmatch 使うとそれ以降でインテリセンスが死んじゃうみたいなんだけど
回避策ありませんか?

VC2005EEです
885: デフォルトの名無しさん [sage] 2007/10/08(月) 10:40:24 AAS
インテリセンスは死ぬためにあるのです
886: デフォルトの名無しさん [sage] 2007/10/08(月) 10:47:41 AAS
boostとインテリセンスは千日戦争に突入しているので、見守ってあげてください
887
(1): デフォルトの名無しさん [sage] 2007/10/08(月) 10:50:54 AAS
インテリセンスで不具合がおきている人は日本語版VisualStudio使っているのかな?
888
(1): デフォルトの名無しさん [] 2007/10/08(月) 11:15:56 AAS
>>887
お、そこには思いが至らなかった。
英語版の Visual Studio 2005 では死なないのかな?
でも boost の ml などを見てると結構死んでる人もいるみたい。

>>884
なんか typedef が多重にかかると追い切れないのかもね。
boost/regex/v4/match_results.hpp の 49 行あたりにある
typedef typename vector_type::const_iterator const_iterator;
を vector_type を使わずに生のまま書くと IntelliSense は死なないみたい。
typedef typename std::vector<sub_match<BidiIterator Allocator>::const_iterator const_iterator;
ところで、こういう宣言文での typename って必須?

IntelliSense を殺してしまうようなヘッダファイルは Boost の
そこかしこにあるんだけど、自分で使うヘッダファイルについては
すべて修正してます。filesystem, mpl, optional, regex あたりが
その代表かなぁ。
889
(1): デフォルトの名無しさん [sage] 2007/10/08(月) 11:26:14 AAS
>vector_type を使わずに生のまま
なんのこと?生?

>ところで、こういう宣言文での typename って必須?
必須
890: デフォルトの名無しさん [sage] 2007/10/08(月) 11:29:14 AAS
英語版VisualStudioだと問題ないなあ。問題といっている
ヘッダファイル使っているんだけどね。
891
(2): デフォルトの名無しさん [sage] 2007/10/08(月) 11:39:10 AAS
>>888
どうもです
書き直してみたけどやっぱり駄目みたい

便利な物は失うと辛いな(´Д`;)
892
(1): デフォルトの名無しさん [] 2007/10/08(月) 11:42:25 AAS
>>889
「生」ってのは、その直前に
typedef std::vector<sub_match<BidiIterator Allocator> vector_type;
っていう宣言文があって、そこで宣言した vector_type を使わずに、
っていう意味で使った。

typename が必要になるのってどういうケースなんだろう。
じつは typename よくわかってない。テンプレート引数に
class って書いてたのが最近は typename って書くのが流行り?
って程度の認識。
893: デフォルトの名無しさん [sage] 2007/10/08(月) 11:43:52 AAS
>>891
え?だめ?おかしいなぁ。
Visual Studio 2005 Professional SP1 日本語版
boost 1.34.1 なんだけどなぁ。
894
(1): デフォルトの名無しさん [sage] 2007/10/08(月) 11:51:46 AAS
>>892
std::vector<sub_match<BidiIterator Allocator>::const_iterator
ってあったら、これが型なのかそうじゃない(例えばstaticメンバ変数)のかコンパイラには分からん
だからtypenameで明示しない限り型じゃないとみなすことになってる
895: デフォルトの名無しさん [sage] 2007/10/08(月) 12:00:09 AAS
>>894 なるほど、クラスメンバと混同するからか。
typedef std::vector<sub_match<BidiIterator Allocator> vector_type;
それでこの場合には typename がなかったのか。
896
(1): デフォルトの名無しさん [sage] 2007/10/08(月) 12:03:44 AAS
>>891
ncb ファイルを一度削除しないとだめかもね。
Visual Studio が起動している間に削除してもだめだよ。
ちゃんと終了してから削除しないと。
897: デフォルトの名無しさん [sage] 2007/10/08(月) 12:37:17 AAS
試しにvector_typeを全部「生」にしてみたけど駄目だった
やり方がどこか違うのかな・・・

残念
898
(1): デフォルトの名無しさん [sage] 2007/10/08(月) 16:46:59 AAS
2005だが、
インテリセンスが混乱したら
キャッシュ(ncbファイルだっけ)を削除したら一時的に直る。
899: デフォルトの名無しさん [sage] 2007/10/09(火) 00:08:10 AAS
>>896>>898
ありがとうございます

遅レスですがncb消しても駄目ですた
もう駄目ぽ
900: デフォルトの名無しさん [sage] 2007/10/09(火) 02:46:42 AAS
基本的にboost使う奴が悪いんだから、このさいインテリセンスは諦めましょう。
901
(1): デフォルトの名無しさん [sage] 2007/10/09(火) 03:07:14 AAS
特定のライブラリのみビルドする方法は用意されているのでしょうか?
902: デフォルトの名無しさん [sage] 2007/10/09(火) 03:34:13 AAS
>>901
どーだろ。でも、ライブラリ別に.soとか.aができるから、必要な奴だけリンクすることは可能。
だから部分ビルドできるかはあまり関係ない気もするんだが。
903
(1): デフォルトの名無しさん [sage] 2007/10/09(火) 04:30:10 AAS
ところで C++0x ではクロージャの機能は入るんですか?
904
(1): 903 [sage] 2007/10/09(火) 04:31:35 AAS
すんません、ラムダ式が使えるんですね。
http://ja.wikipedia.org/wiki/C++0x#.E3.83.A9.E3.83.A0.E3.83.80.E9.96.A2.E6.95.B0.E3.81.A8.E3.83.A9.E3.83.A0.E3.83.80.E5.BC.8F
905: デフォルトの名無しさん [sage] 2007/10/09(火) 10:06:11 AAS
>>904
その Wikipedia の記事は、どういう新機能が会議で提案されてるかをかいてるので、どれが実際に C++0x に入りそうかは別個の話だよ。
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2389.html
をみたかぎりではλ式は間に合わなさそう。

これ以上はスレ違いなので C++0x スレで。
906: デフォルトの名無しさん [sage] 2007/10/09(火) 10:09:41 AAS
と思って書き込んでからちゃんとよんでみたら、なんとかなりそうなのかな。よくわかりません。失礼しました
907
(4): デフォルトの名無しさん [sage] 2007/10/09(火) 17:43:57 AAS
VC++2005EEの環境で>>878のコードをビルドしてみたんですが、リンクエラーが出てしまいます。
ランタイムライブラリをMT,MTd,MD,MDdのそれぞれ1回ずつ、バッチビルドでDebugとReleaseの両方をビルドしてみたんですが、どれもリンクエラーが出ました。
↓はMDdでビルドしたときのエラーです。
------ ビルド開始: プロジェクト: aa, 構成: Release Win32 ------
aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char> >
(class std::basic_ostream<char,struct std::char_traits<char> > &,char)"
(__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z)" は未解決です。
aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) private: static char const * __cdecl std::basic_string<char,struct std::char_traits<charclass std::allocator<char> >::_Nullstr(void)"
(__imp_?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ)" は未解決です。
aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) char const `private: static char const * __cdecl std::basic_string<char,struct std::char_traits<charclass std::allocator<char> >::_Nullstr(void)'::`2'::_C"
(__imp_?_C@?1??_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ@4DB)" は未解決です。
aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char> >
(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)"
(__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)" は未解決です。
908: デフォルトの名無しさん [sage] 2007/10/09(火) 17:46:46 AAS
907の続き

Debugのエラーはあまりにも長いので、とりあえずReleaseだけにしておきます。
どこか設定が間違っているのでしょうか?
お願いします。
909
(2): デフォルトの名無しさん [sage] 2007/10/09(火) 18:13:43 AAS
>>907
2005、Boost1.34だが、
31->33行目はoperator()で書き直せば通ったけど?
A[0][0]=1.0; -> A(0,0)=1.0;
910
(3): 907 [sage] 2007/10/09(火) 19:49:15 AAS
>>909
A[0][0]=1.0; -> A(0,0)=1.0;に書き換えてみましたが、同じエラーが出てしまいます。
ちなみにboost1.34.0だと、
c:\library\boost_1_34_0\boost\numeric\ublas\detail\config.hpp(174)
: fatal error C1189: #error : Your compiler is unsupported by this verions of uBLAS. Boost 1.32.0 includes uBLAS with support for many old compilers.
というエラーが出てしまうので、1.32.0を入れました。

リンクエラーの意味がわからないので、どうすればいいのかさっぱり・・・。
911
(1): 909 [sage] 2007/10/09(火) 20:32:32 AAS
>>910
ランタイムライブラリは
マルチスレッド(デバッグ)?DLL
使わないとエラー大量に出るよ。
lib,includeディレクトリには1つのバージョンのみのBoostだけ入れてよ。
Boost1.34.1
これでもできないならなんか環境ファイルが壊れてるのかもしれん。
912
(1): 907 [sage] 2007/10/09(火) 22:44:28 AAS
>>911
1.34.1入れてビルドしてみましたが、やはり>>910に書いたエラーが出てしまいます。
(このエラーが出るということは、コンパイラが1.34.1のublasに対応してないということですよね?)

1.32.0でビルドすれば、コンパイルは通るんですが、
どのラインタイムライブラリでやっても、>>907のリンクエラーかそれよりたくさんのリンクエラーが出てしまいます。
リンクエラーの内容がstd::basic_ostreamとかだったりするのは、
やはり環境変数がちゃんと設定できていないか、壊れているかそのあたりがあやしいですか?
913
(1): デフォルトの名無しさん [sage] 2007/10/10(水) 01:38:03 AAS
boost::test::unit_test ってテスト終了時に
メモリリークの検出までやってくれるんだね。
どういう方法でリークを検出しているんだろう。
もしかしてメモリアロケータを標準のものから
置き換えてなにかやってるのかな?
914
(1): デフォルトの名無しさん [sage] 2007/10/10(水) 02:44:06 AAS
>>912
通りすがりだけど・・・

#include <ublasのヘッダもろもろ>
int main()
{
// 何も書かない
return 0;
}

でコンパイル通る?
経験則から言うとVC7以上であればublasのバージョンは問題ないと思う

>>913
unit_testのメモリリーク検出良いよね
うっかりポインタ操作をミスしていたのを見つけてくれたことがあるよ
915: 907 [sage] 2007/10/10(水) 04:01:05 AAS
>>914
ヘッダだけのコードを1.32.0でビルドしたら成功しました。(1.34.1は、やはり>>910のエラー)
1.34.1でビルドするとboost/numeric/ublas/detail/config.hppの
// Version 6.0 and 7.0
#if BOOST_MSVC <= 1300
#define BOOST_UBLAS_UNSUPPORTED_COMPILER 1
#endif
の条件に該当してそうです。

コメントアウトでいろいろコードを削って試してみたら、どうもstd::coutを使うとリンクエラーが出るっぽいです。
原因がスレ違いで申し訳ないです。
あとは自分でなんとかします。
レスくれた方々、ありがとうございました。
916: デフォルトの名無しさん [sage] 2007/10/11(木) 02:58:54 AAS
unit_testの話題が出ているので...質問させてください

他のライブラリを使用したコードのテストをするため
unit_testを利用しようとしたところ、リンカで次のエラーを得ました

***.lib(main.obj) : error LNK2019: 未解決の外部シンボル _MAIN__ が関数 _main で参照されました。

unit_testがmain関数を横取りしていることあたりが原因だとは思うのですが
何とか上手く回避できないものでしょうか?
お心当たりのある方はご教示いただけると幸いです
917: デフォルトの名無しさん [sage] 2007/10/11(木) 03:31:31 AAS
unit_testを使わない

boostなんて無理してまでも使うもんじゃない。
918
(1): デフォルトの名無しさん [sage] 2007/10/12(金) 07:06:33 AAS
お前ら、ステートマシンはどのライブラリを使っていますか?
Cで書いた糞自作ライブラリから乗り換えようと思ってるんですが。
919: デフォルトの名無しさん [sage] 2007/10/12(金) 07:29:57 AAS
糞自作ライブラリから乗り換えようと思った理由は?
920
(1): デフォルトの名無しさん [sage] 2007/10/12(金) 09:11:09 AAS
http://www.boost.org/more/formal_review_schedule.html
Boost.FSM 10/21〜
921: デフォルトの名無しさん [sage] 2007/10/12(金) 09:15:29 AAS
FSMは昔GPGに載ってたAI用のやつをいじって使ってる
922: デフォルトの名無しさん [sage] 2007/10/12(金) 09:32:38 AAS
>>918
Cベースで、状態遷移時のコールバック関数へのポインタが
むき出しだったり、いやなことが多いのと、あのころの
自分を忘れたかったから。

>>920
お、レビューが始まるんですか。
ちょっと前に話題が出てた Property も?
と思ったらこれは Property Map か。。

http://www.boost.org/libs/statechart/doc/index.html
これと比べてどちらを使うべきかについてのアドバイスのような
ページがどっかにあったんだけど、以前読んだ時に結局
判断がつかなくてずっと自作ライブラリ使ってたんだけど、
もう嫌になったから・・・
923: デフォルトの名無しさん [sage] 2007/10/12(金) 20:21:25 AAS
typedef使えばいいような
924
(3): デフォルトの名無しさん [sage] 2007/10/13(土) 14:37:13 AAS
テキストエディタ使ってコマンドラインからコンパイルしようとすると
boost関連のincludeが見つからないと怒られたので
vsvars32.batにboostのincludeとlibパスを追加してみたら
今度はfatal error LNK1120: 外部参照 1 が未解決です。と出る

どうしたら良いのでしょうか?
925: 924 [sage] 2007/10/13(土) 14:42:35 AAS
書き忘れ

VC2005EEです。。。
926: デフォルトの名無しさん [sage] 2007/10/13(土) 14:56:29 AAS
具体的に何が見付かりませんと表示されるだろう。
そっち見ないとわからない。たぶんスレ違いの気がするけれど。
927
(1): 924 [sage] 2007/10/13(土) 15:02:11 AAS
error LNK2019: 未解決の外部シンボル
"void __cdecl boost::throw_exception(class std::exception const &)"
(?throw_exception@boost@@YAXABVexception@std@@@Z) が関数 "
int __cdecl boost::lexical_cast<int,class std::basic_string<char,struct
std::char_traits<charclass std::allocator<char> > >
(class std::basic_string<char,struct std::char_traits<charclass std::allocator<char> > const &)"
(??$lexical_cast@HV?$basic_string@DU?$char_traits@D@std@@V?
$allocator@D@2@@std@@@boost@@YAHABV?$basic_string@DU?$char_traits@D@std@@
V?$allocator@D@2@@std@@@Z) で参照されました。
boosttest.exe : fatal error LNK1120: 外部参照 1 が未解決です。

長いんでカットしてました
スレ違いならごめんなさい
928: デフォルトの名無しさん [sage] 2007/10/14(日) 19:34:47 AAS
うちはうまくうごいとるよ
929: デフォルトの名無しさん [sage] 2007/10/14(日) 20:12:48 AAS
boostでまだ使えないvc向けのものがあるね
930
(1): デフォルトの名無しさん [sage] 2007/10/14(日) 23:32:14 AAS
>>927
VC のオプションの「C++ の例外を有効にする」がいいえになってるか
明示的に BOOST_NO_EXCEPTIONS を定義したのでは?
931: デフォルトの名無しさん [sage] 2007/10/15(月) 15:02:33 AAS
YAMLの実装はありますか?
932: 924 [sage] 2007/10/15(月) 18:11:46 AAS
>>930
遅レスですいません
ビンゴでした

/EHsc オプションつけたらコンパイル通った
ありがとうございました

でも、なにもした覚えはないんだけどな・・・
933: デフォルトの名無しさん [sage] 2007/10/15(月) 18:15:01 AAS
実行時型情報を使うのってあんまり気持ち良くないなぁ。
おまえらは全然抵抗ありませんか?
型に関するあれやこれやはコンパイル時に解決
されているのがC++のいいところだと思ってたんだけど。

あと、これは単なるコーディングスタイルなんだけど、
メンバ変数をアクセスするときに this-> を強制したいなぁ。
あくまで自分が間違えてメンバ変数と同じ名前のローカル変数を
作ってしまうことがあるバカ者だからなんだけどね。
まぁこれは命名規則をきっちり決めておけばいいんだろうけど。
934: デフォルトの名無しさん [sage] 2007/10/15(月) 18:56:28 AAS
boostと何の関係が?
935: デフォルトの名無しさん [sage] 2007/10/15(月) 19:11:01 AAS
RTTIをオフにすると、Boost のなかで使えない
ライブラリが出てくる。どのライブラリが
RTTIを要求するか、例外のサポートを要求するかについての
リストがあれば便利なケースもあるんじゃないかなぁ、とか思いながら。
さすがに組み込みで Boost の全ライブラリのサポートを
要求する人はいないと思うが、どれが使えてどれが使えないか
わかればいいなぁ。
936: デフォルトの名無しさん [sage] 2007/10/15(月) 21:50:35 AAS
独り言うぜぇ
937: デフォルトの名無しさん [sage] 2007/10/15(月) 22:01:11 AAS
つうか、メンバ変数は大抵 xxx_ とか m_xxx でぶつからないだろ
938
(1): デフォルトの名無しさん [sage] 2007/10/15(月) 22:56:57 AAS
インテリセンスで使いやすいように _xxx じゃ問題ある?
939
(1): デフォルトの名無しさん [sage] 2007/10/15(月) 23:08:43 AAS
>>938
頭にアンダースコアの識別子は標準ライブラリやコンパイラのベンダのためにあるから使っちゃ駄目。
940: デフォルトの名無しさん [sage] 2007/10/15(月) 23:12:26 AAS
>>939
はい、間違いです。規格書読み直してくださいね。
941: デフォルトの名無しさん [sage] 2007/10/16(火) 00:00:50 AAS
>17.4.3.1.2 Global names
>Certain sets of names and function signatures are always reserved to the implementation:
>Each name that contains a double underscore (_ _) or begins with an underscore followed by an uppercase
>letter (2.11) is reserved to the implementation for any use.
>Each name that begins with an underscore is reserved to the implementation for use as a name in the
>global namespace

大文字でないので、メンバに使うのはおkってことか?
なんにせよ俺は使いたくはないな。
942: デフォルトの名無しさん [sage] 2007/10/16(火) 00:51:09 AAS
マクロとぶつかったりするととても悲しいのでやめた方が無難
943: デフォルトの名無しさん [sage] 2007/10/16(火) 08:19:50 AAS
バカかお前。ぶつからねーって回転だろ
944
(1): デフォルトの名無しさん [sage] 2007/10/16(火) 19:38:49 AAS
独自のテンプレートライブラリを作るときに
boost::mplを使うときに一々ヘッダでboost::mpl::bindとか完全修飾で書くとみにくいので
namespace mpl = boost::mplとかusingを使いたいんですが

namespace my_lib {
 namespace hoge_impl {

}
945
(1): 944 [sage] 2007/10/16(火) 19:46:07 AAS
namespace my_lib
{
 namespace hogee_impl
 {
  // *この名前空間でusingやnamespace hoge = foo::bar;を使う
  tempalte<class Hoge, class Huga, class Foo> struct impl { typedef ... type; };
 } // namespace hoge_impl
 tempalte<class Hoge, class Huga, class Foo> struct hogee {
   typedef typename hogee_impl<Hoge,Huga,Foo>::type type;
 };
} // namespace my_lib
というようにしてhogeeをmy_lib::hogeeとして使えば問題ありませんか?
ADLとかまだよくわからないのでちょっと心配です
946: デフォルトの名無しさん [sage] 2007/10/16(火) 21:56:08 AAS
それってBoostと関係あるのか?
947: デフォルトの名無しさん [sage] 2007/10/16(火) 23:37:09 AAS
>>945
どんなことが起こるのを心配してるの?
見た感じ、好きにすれば、って感じなんだけど。
1-
あと 54 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s