2013-03-12 49 views
0

我正在運行CERN的根程序並使用C++腳本進行數據分析。從另一個.cc文件調用C++中的方法

目前,我有我自己的腳本運行,做這種分析,但我需要使用別人的文件中定義的方法稱爲「ccd.cc」:

bool CCDCuts12(obj1, int1) 
    {...} 

我需要的布爾結果此方法OBJ1和INT1在我自己的代碼,使用創建如下:

if(CCDCuts12(obj1, int1)) 
    {...} 
else {cout << "This Event Did Not Pass the Cuts" << endl;} 

的問題是,ROOT獲取非常不滿我,當我嘗試這一點,所以我假設我是不正確的調用方法和它需要某種[object] .CCDCuts12(obj1,int1)以便工作... bu T I我不知道該怎麼做或者什麼[對象]會...

僅供參考,我在上面已經做的#include「ccd.cc」 ......

+0

是CCDCuts12一個獨立的功能,還是屬於某個類的方法? – Beta 2013-03-12 20:19:23

+0

它應該是一個獨立功能 – 2013-03-20 11:31:58

回答

2

你不應該包括另一個C++文件。您應該將函數定義包含在頭文件(.h)中。

+0

會涉及到簡單地將功能代碼複製到一個「.h」文件幷包括該功能?一旦我這樣做,是我的語法來調用它是正確的? – 2013-03-12 19:53:59

1

你應該包括這個函數的聲明,該文件

bool CCDCuts12(obj1, int1); 

Probbly應該包括.h文件。

之後,你既要文件鏈接到1個節目

your_compiler file1.cc file22.cc 
+0

我可以將函數定義複製到一個帶有我選擇的.h擴展名的文件中,然後包含它? – 2013-03-12 20:01:04

+0

如果你現在不使用'cc'文件,是的。在其他情況下,您將得到重新定義錯誤。只需使用聲明。 – RiaD 2013-03-12 20:17:27

相關問題