|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在一个类里面调用另外一个类,我包含头文件了,怎么还报这个bug
在ActionInitialization.cc文件里面的build函数里面HistoManager* histo = new HistoManager();报错
ActionInitialization.cc文件
- #include "ActionInitialization.hh"
- #include "PrimaryGeneratorAction.hh"
- #include "RunAction.hh"
- #include "EventAction.hh"
- #include "SteppingAction.hh"
- #include "HistoManager.hh"
- namespace B1
- {
- ActionInitialization::ActionInitialization()
- {}
- ActionInitialization::~ActionInitialization()
- {}
- void ActionInitialization::Build() const
- {
- // Histo manager
- HistoManager* histo = new HistoManager();
- SetUserAction(new PrimaryGeneratorAction);
- RunAction* runAction = new RunAction(histo);
- SetUserAction(runAction);
- EventAction* eventAction = new EventAction(runAction,histo);
- SetUserAction(eventAction);
- SetUserAction(new SteppingAction(eventAction));
- }
- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
- }
复制代码
ActionInitialization.hh文件
- #ifndef B1ActionInitialization_h
- #define B1ActionInitialization_h 1
- #include "G4VUserActionInitialization.hh"
- /// Action initialization class.
- class G4Run;
- class HistoManager; //me
- namespace B1
- {
- class ActionInitialization : public G4VUserActionInitialization
- {
- public:
- ActionInitialization();
- ~ActionInitialization() override;
- void BuildForMaster() const override;
- void Build() const override;
- };
- }
复制代码
HistoManager.hh文件
- #ifndef HistoManager_h
- #define HistoManager_h 1
- #include "G4AnalysisManager.hh"
- #include "globals.hh"
- //#include "g4root.hh”
- class HistoManager
- {
- public:
- HistoManager();
- ~HistoManager();
- void Book();
- void Save();
-
- void FillHisto(G4int id, G4double e, G4double weight = 1.0);
- void Normalize(G4int id, G4double fac);
- void FillNtuple(G4double EnergyAbs, G4double EnergyGap,
- G4double TrackLAbs, G4double TrackLGap);
-
- void PrintStatistic();
-
- private:
- G4bool fFactoryOn;
- };
- #endif
复制代码
CLion是一个流行的C++集成开发环境(IDE),它支持C++的各种标准,并且提供了很多用于代码开发的工具。在CLion中,创建.hh(头文件)和.cc(源文件)是很简单的。以下是步骤:
1. 在你的项目中,右键点击你想要添加新文件的位置。
2. 在弹出的菜单中,选择 New -> C++ Class 。 这将打开一个对话框来创建新的C++类。
3. 在对话框中,你可以指定新类的名称,类的类型(类、结构体、联合体、枚举),以及是否需要生成对应的头文件和源文件。输入你需要的信息后,点击 OK 。
4. CLion将为你生成新的.hh头文件和.cc源文件,并自动打开它们。
在默认情况下,CLion将生成.h和.cpp文件作为头文件和源文件的扩展名,如果你需要.hh和.cc作为扩展名,你可以在创建类时,类名后面添加.hh或.cc,比如你可以在类名栏中输入 MyClass.hh ,CLion就会为你生成MyClass.hh和MyClass.cc文件。
注意:如果你的项目已经有.cc和.hh文件,当你创建新的类时,CLion会自动使用这些扩展名。
如果你只想单独创建一个.hh或者.cc文件,而不是C++类,你可以选择 New -> File ,然后输入你想要的文件名和扩展名。
|
|