Ошибка в гистограммах C++ root
У меня есть эта строка кода в C++ (root):
void TMTrackAnalyzer::beginJob(){
hisStubsVsR_.insert( pair< ObjectType, TH1F* > (InputData, dirs_.at(InputData).make<TH1F>("StubsVsR","; radius (cm); No. stubs in tracker",1200,0.,120.)));
}
который в основном заполняет гистограмму, устанавливает диапазон гистограммы, метки и заголовка. На самом деле я заполняю больше гистограмм в этой функции, но для простоты я привел здесь только одну. И для каждого из них я получаю эти ошибки:
expected primary-expression before '(' token
expected primary-expression before ',' token
expected primary-expression before ')' token
expected primary-expression before '>' token
left operand of comma operator has no effect [-Werror=unused-value]
InputData - это каталог, в котором я хочу сохранить гистограммы. У кого-нибудь есть идеи, что тут не так? Спасибо!
1 ответ
Впоследствии вы не можете поместить два строковых литерала, например: ("str1" "str2"). Сложите все вместе или разделите запятыми. Для компиляции ваша строка должна быть одной из следующих:
hisStubsVsR_.insert( pair< ObjectType, TH1F* > (InputData, dirs_.at(InputData).make<TH1F>("StubsVsR","; radius (cm); No. stubs in tracker",1200,0.,120.)));
hisStubsVsR_.insert( pair< ObjectType, TH1F* > (InputData, dirs_.at(InputData).make<TH1F>("StubsVsR","; radius (cm);", "No. stubs", "in tracker",1200,0.,120.)));