- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームプログラムでのファイル分割)
フォームプログラムでのファイル分割
このQ&Aのポイント
- VC++フォームプログラムの自動生成ソースを使いつつ、ファイルを分割する方法
- Form1.hファイルの内容を整理し、別ファイルに移動することで、可読性を向上させる
- フォームプログラムの処理をanother.cppに移動する方法を説明
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
↓何の問題もありませんよ? --- form1.cpp --- #include "stdafx.h" #include "Form1.h" namespace namForm1{ void Form1::func() { ... } }
その他の回答 (1)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
> 二重定義だと怒られる ↓定義をヘッダーに書かなければ何の問題もありませんよ。 ---- myHdr.h --- #ifndef MYHDR_H_ #define MYHDR_H_ extern int aryDat[]; #endif --- myHdr.cpp --- #include "stdafx.h" #include "myHdr.h" int aryDat[] = {23,32,45,};
質問者
お礼
あ、結構簡単なんですね。。。長い時間悩んだのに、あっさり解決いただいてありがとうございました!!
お礼
ああ!確かに。。。すみません。それをやると違うエラーが起きたので、勘違いしておりました。 ちなみにそのエラーについても教えて頂ければ幸いなのですが、ある自作ヘッダー(myHdr.h) ----myHdr.h--------------------------------------------- int aryDat[] = {23,32,45,}; -------------------------------------------------------- をForm.hにインクルードし、ご指摘いただいた通りForm1.hを違うソースにインクルードしていると二重定義だと怒られるといったものです。定義をヘッダーで書かなければ良い話ですが、上記のようなデータ列をいくつも使うプログラムにしようとしています。なので、ヘッダーなどの別ファイルでまとまった形でデータ列を持っておきたいのです。配列にしておかなくても構いません。方法がなければcsv形式のファイルに格納しておくことを考えています。ただそれだとファイル入出力をしなければならなくなるので、配列で持っておきたかったのですが。。。こういった場合、何か良い方法はありますか?上記方法で二重定義と怒られるのを回避できれば一番良いのですが・・・。 よろしければまたご教授ください。