
C++を勉強しだした大学生です。
唐突で大変恐れ入りますが、
次のエラー文の意味について、
検索しても、今一よく理解する記事に遭遇できず、
呆然としています。
これはどういった意味のエラー文でしょうか?
お手数おかけしますが、
お力添えの程宜しくお願い致します。
error: cannot allocate an object of abstract type ‘dir1::fileA<dir2::dir3::fileB>’
補足させていただきます。
=====================================================
・「dir1」は「1」という名称のディレクトを指します。
・「dir2」と「dir3」も「dir1」とは別にある他のディレクトリを指します。
・「fileA」は「file.hpp」というファイル名です。
・「fileB」も「fileB.hpp」というファイル名を指します。
No.4ベストアンサー
- 回答日時:
名前空間の宣言が見えないし, 肝心なところだけきっちり消された印象があるのはなぜだ....
ちゃんと「csrpc::peer<kbr::chord::chord> は抽象クラスだからインスタンス化できない」って書いてある. しかも, このクラスがなぜ抽象クラスかというと
「onden::peer<kbr::chord::chord> が純粋仮想関数を持っている」
とまで書いてある. だから, csrpc::peer や onden::peer の定義を確認して, 必要なら onden::peer から継承しているであろう仮想関数を定義してやること. それが何かは書いてもらえないので知らない.
No.3
- 回答日時:
超能力者がそんなにいるとは思えないので,
・あなたの使っている処理系 (OS, コンパイラなど) の名称とバージョン
・関係するソースの部分 (特に名前が挙がっている型の宣言のところ)
あたりを示してください.
この回答への補足
Tacosanさん
不足点が多く大変失礼しました。
いくつか補足させていただきました。
ページ下の方になってしまいますが
ご参照いただけると大変ありがたいです。
宜しくお願い致します。
No.1
- 回答日時:
「ディレクトリを指す」や「ファイル名である」と言うのは、もう少し具体的にどういう意味でしょうか。
もしかして、ただの文字列だったりしますか?
それとも、ファイル構造体などの意味なのでしょうか。
実際のコードの様子が分からないので的確なことは言えませんが、参考URLに挙げた内容が言っていることと近いのかもしれません。
参考URL:http://natu.txt-nifty.com/natsutan/2007/06/avm_i …
この回答への補足
皆様分かりにくくて大変恐縮でした。
以下のとおりそのままのエラー文を持ってきましたので、
ご参照いただけるとありがたい次第です。
OS:fedora9
コンパイラ:gcc
「Gab_km」様が参考としてあげていただいたURLにある
エラー文とほぼ同一です。
../../sakura/include/sakura/detail/sakura_peer.hpp:730: error: cannot allocate an object of abstract type ‘csrpc::peer<kbr::chord::chord>’
../../onden/include/onden/peer.hpp:129: note: since type ‘onden::peer<kbr::chord::chord>’ has pure virtual functions
エラーメッセージを出したソースコードに関してですが、
あまりにも長いソースなので、エラーの出ていた
行番号周辺(sakura_peer.hpp:730/peer.hpp:129)を持ってきてみました。
#cat -n sakura_peer.hpp
721 private:
722 template<typename PEER_OB, typename PEER_HA, typename PEER_DI>
723 struct sakura_peer_impl {
724 typedef PEER_OB peer_ob;
725 typedef PEER_HA peer_ha;
726 typedef PEER_DI peer_di;
727
728 typedef boost::shared_ptr<peer_ob> peer_pointer;
729
730 sakura_peer_impl() : _peer(new typename traits::peer_ob()) {
731 CTL_TRACER("sakura");
732 }
733
#cat -n peer.hpp
122 template<typename AIR>
123 class peer :
124 public abstruct_peer<typename AIR::proxy>,
125 public sakura::peer_base<peer<AIR>,
126 typename oden_traits<AIR, sakura::peer>::ha,
127 typename oden_traits<AIR, sakura::protocol>::ha,
128 typename oden_traits<AIR, sakura::nod>::ha>
129 {
130 public:
131 typedef AIR air;
132 typedef air object;
133 typedef typename air::proxy proxy;
134
135 typedef abstruct_peer<proxy> abstruct_peer_type;
136
137 typedef typename proxy::ha proxy_ha_type;
138 typedef oden::rpc_re<proxy_ha_type> rpc_re_type;
139
140 typedef typename sakura::peer_base<peer<AIR>,
141 typename oden_traits<AIR, sakura::peer>::ha,
142 typename oden_traits<AIR, sakura::protocol>::ha,
143 typename oden_traits<AIR, sakura::nod>::ha
144 > peer_base_type;
145
146 virtual typename oden_traits<AIR, sakura::peer>::ha get_ha() {
147 CTL_TRACER("oden");
148 return typename oden_traits<AIR, sakura::peer>::ha(&peer::send_m,
149 &peer::recv_m,
150 &peer::get_proxy,
151 }
Gab_kmさん!
いただきました参考URLや御意見が
とても役立ちました。
このたびは、
お忙しい中アドバイスいただきまして
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) ネットの文章をワードに貼り付けるとき、幅を広げる方法 6 2022/05/30 11:04
- 工学 過渡現象 RL回路で 回路方程式 Ri+L(di/dt)=E 定常解 is=E/R 過渡解 Ri+L 1 2022/06/08 21:47
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- 数学 『iの微分』 7 2023/02/06 19:45
- モデル 外国人のモデルさんについて 2 2022/09/25 13:29
- イタリア語 イタリア語が得意な方に質問なんですが、椿姫のアルフレードの歌、7音節詩行ですが、この音節分けをして欲 1 2022/05/17 17:12
- デジタルカメラ 動画撮影に使うレンズ。どちらのレンズがいいか悩んでいます 1 2023/01/02 18:21
- オープンソース イラストのDLサイト 1 2023/05/11 17:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.Net.HttpWebRequest、も...
-
VBA チェックボックスをオーバ...
-
DataContextについて
-
Serialize で困ってます!!
-
内部クラスの処理
-
イベントにAddHandlerされてい...
-
オブジェクト指向 集約の実装...
-
既定のコンストラクタがない?
-
フォーム間でのオブジェクト又...
-
VC++ リストボックスにデータを...
-
VB6で作成したDLLをVC6で使用す...
-
特定のビューへのポインタ取得...
-
スプラッシュコントロールの挿...
-
(UWSC) 「#32770」の意味わかり...
-
CFrameWnd とCFormView2
-
ダイアログ表示時にチェックボ...
-
MenuStripの継承でプロパティが...
-
エディットコントロールのイベ...
-
VC++ MFC CFrameWndって・・・
-
CDocumentの取得方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
イベントにAddHandlerされてい...
-
ダイアログ表示時にチェックボ...
-
エディットコントロールでEnter...
-
(UWSC) 「#32770」の意味わかり...
-
C++ protectedにアクセス不可
-
クラスのアドレスを引数として...
-
エディットコントロールのイベ...
-
【ASP.NET】 独自で作成したク...
-
MFCのドラッグ&ドロップについて
-
オーバーライド関数の呼び出し...
-
C++/CLIからC++の呼び出しで例外
-
ボタンのオーナードローについて
-
C++で継承元のクラスの代入演算...
-
MFCアプリのコマンドラインでパ...
-
DLLからEXEのクラスを呼び出す...
-
MFCのCListCtrlでスクロールを検出
-
オブジェクト指向 集約の実装...
-
ダイアログクラスのコントロー...
おすすめ情報