【初心者歓迎】C/C++室 Ver.54【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.54【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト7:デフォルトの名無しさん 08/05/14 15:04:43 どこにも情報が無いのでこちらで質問をさせていただきます。 eVC++4.0 にて組み込み開発を行っているのですがどうしても下記のwarningが出てしまいます。 class 'Hogehoge' needs to have dll-interface to be used by clients of class 'Foo' 上記エラーが発生した原因はメンバインスタンス変数を static に変更し、かつ、ポインタ ではなく実体を持つように修正したからだと思われます。 class Foo { public: Hogehoge *hogehoge; }; ↓ class Foo { public: static Hogehoge hogehoge; }; warningの意味は何なのか? 原因は何なのか? また、解決方法のご存知の方、回答お願いします。 8:デフォルトの名無しさん 08/05/14 16:07:44 strncpy, snprintf, memcpy などの関数でサイズ引数を0にした場合の挙動って定義されてるんでしょうか? やっぱり自分でチェックした方が無難? 9:デフォルトの名無しさん 08/05/14 18:20:01 >>7 そのメッセージの前に警告番号とか出なかった? あと警告やエラーはそれのみ? >>8 それぞれの関数の仕様を確認すること。 「など」に対しては定義されてないので。 未定義や不定の条件に書いて無ければ、サイズ0もOK。 ただしサイズが負の数みたいな、 有り得ない値は逆に、何も書いてなければNG。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch