環境
Windows 10
Visual Studio 2017 Community
言語:c++
dllとしてビルドしています
やりたいこと
enum Fruit {APPLE, ORANGE};
enum Fruit fruit;
ファイルは、main.cpp、fruit.h、fruit.cpp、fruit2.cppの4つがあります
文法はあっているか分かりませんが、下のようなものにしたいです。
main.cpp
c++
1#include "fruit.hpp" 2 3int main() { 4 fruit = APPLE; 5}
fruit.hpp
c++
1extern enum Fruit; 2extern enum Fruit fruit;
fruit.cpp
c++
1#include "fruit.h" 2 3enum Fruit {APPLE, ORANGE}; 4enum Fruit fruit; 5 6void hoge() { 7 fruit = ORANGE; 8}
fruit2.cpp
c++
1#include "fruit.h" 2void huga() { 3 fruit = APPLE; 4}
このように、fruit.hをincludeしていれば、どのファイルからでもenumの値を自由に書き換え・読み取りできるようにしたいです。
もちろん、変数を他のファイルからアクセスできるようにすることは良くないので、関数を作り、その関数で操作できるようにしても大丈夫ですが、その方法を知りません。
試したこと
上と同じコードでビルドした結果、「外部シンボル""int(* object_box)[2]" (?object_box@@3PAY01HA)"は未解決です」というエラーメッセージがありました。
また、enum関係のソースコードを全てコメントアウトすると、無事ビルド成功します。
どうかよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/13 12:32
2019/01/13 12:50