«Ошибка: символ TMath не определен в текущей области»

#c #root-framework

#c #root-framework

Вопрос:

Вот мой макрос:

 #include "TMath.h"
using namespace std;

void GettingStarted()
{

    Double_t x = TMath.PiOver2();
    cout << pow(x,2);
}
  

Как вы можете судить по названию функции, я новичок в ROOT (и C в целом, поэтому я прошу прощения, если это действительно неаккуратно). Как я могу исправить эту ошибку и (что более важно) почему я получаю эту ошибку? Кроме того, если кто-нибудь знает какие-либо хорошие руководства для ROOT 5.34, это было бы здорово.

Ответ №1:

TMath это пространство имен, поэтому вам нужно использовать оператор разрешения области :: вместо оператора доступа к члену класса . для доступа к именам, объявленным внутри него:

 Double_t x = TMath::PiOver2();