掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
exportしたいクラスのメンバにSTLが存在するためコンパイルすると警告が出る (ID:57147)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
楽園さんありがとうございます。 テンプレート宣言を書くと確かに警告が出なくなりましたが、std::listが依存しているクラスがたくさんあって、それらも全部宣言しなければならないようで、まだ警告が出ないところまで行っていません。がんばります。 あと、MSDNをATL、STLで調べるといろいろ出てきました。たくさん知らない言葉が出てきて大変です。がんばります! 私のほうにも勘違いなどありましたので 一応私のしたいことをもう少し具体的に補足します。 ・したいのは、STLを含むクラスのエクスポートです。 ・DLL利用側も、DLL側も、全ソースコードが私の管理下にあります。 ・DLL利用側に基底クラスがあります。このクラスは純粋仮想関数のみを含むクラスです。 ・そのクラスをDLL側で派生させたクラスをエクスポートしたいと思っています。 ・実際にexportしたい(DLL利用側で使用したい)のは、そのクラスの生成関数と、DLL側でオーバーライドしたpublicメソッドのみです。STLはクラスのprivateメンバだからDLL利用側では使用しません。メソッドはvtblから呼び出されるでしょうから、要はSTLを無視できれば良いのでは? と思っています。だから、まったく問題の解決にはなっていませんが、C4251警告を無視すればよいだけかなぁ、と思っています。 関係ありそうなところ http://www.tietew.jp/cppll/archive/8444 ここでは、クラス全体に _declspec(dllimport) を付けず、メソッドごとにつけておられますね。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.