shared_ptrが使えない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
wiruka

shared_ptrが使えない

#1

投稿記事 by wiruka » 13年前

現在スマートポインタの勉強をしていてそのテストプログラムを組むところなのですが、
コンパイルするときに
\boost_1_48_0\boost\assert.hpp(104) : error C2039: 'abort' : 'std' のメンバではありません。
というエラーが出てきてしまい対処に困っています。
(ライブラリはこちらhttp://www.boost.org/で入手したものです)
自前のコードを修正するのとは違うのでどうすればいいのかわかりません、
どなたか解決するすべをご教授願えればとおもいます。
Visual C++6.0を使っています。

たかぎ
記事: 328
登録日時: 14年前
住所: 大阪
連絡を取る:

Re: shared_ptrが使えない

#2

投稿記事 by たかぎ » 13年前

wiruka さんが書きました:Visual C++6.0を使っています。
なぜそんな古いコンパイラを使っているのかわかりませんが...
Boost C++ Libraries 1.48.0は、Visual C++ 2005以降しかサポートされていなかったはずです。
もっと新しいコンパイラに変えるか、もっと古いバージョンのBoost C++ Librariesを使ってください。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: shared_ptrが使えない

#3

投稿記事 by softya(ソフト屋) » 13年前

少なくともVC++6.0はBOOST1.48では対象としていないのは確かですね。
テストコンパイラがVC++8.0以上って書いてあります。

VC++6.0にstd::abortがあるか調べてみて下さい。
無ければboostを古いものにするかVC++8.0以降を使うかです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

たかぎ
記事: 328
登録日時: 14年前
住所: 大阪
連絡を取る:

Re: shared_ptrが使えない

#4

投稿記事 by たかぎ » 13年前

softya(ソフト屋) さんが書きました:VC++6.0にstd::abortがあるか調べてみて下さい。
Visual C++ 6.0はきわめて標準準拠度が低く(というか、ISO/IEC 14882:1998以前の処理系です)、std::abortはありません。
もっと正確にいうと、<cstdlib>をインクルードしても、::abortが宣言されます。

ちなみに、Visual C++ 2010でも本来の意味でのstd::abortはありません。
<cstdlib>をインクルードすると、<stdlib.h>で宣言された::abortをstd名前空間でusingしているだけです。

wiruka

Re: shared_ptrが使えない

#5

投稿記事 by wiruka » 13年前

たかぎさん、softya(ソフト屋) さん返信ありがとうございます、
一度こちらも返信したのですが何故か掲示板に反映されなかったらしく対応が遅れてしまいました(汗
Vc++6.0をしつこくつかってきていたのは手持ちの参考書が6.0を対象にしたものだったからですが、
これを機に2010Expressionの方を使うことにしました

閉鎖

“C言語何でも質問掲示板” へ戻る