I used to use :
if (gDirectory != nullptr)
and it was working.
Now I get the following error:
/home/testbeam/eudaq-v1/monitors/onlinemon/src/EUDAQMonitorCollection.cc: In member function ‘virtual void EUDAQMonitorCollection::Write(TFile*)’:
/home/testbeam/eudaq-v1/monitors/onlinemon/src/EUDAQMonitorCollection.cc:36:18: error: ambiguous overload for ‘operator!=’ (operand types are ‘ROOT::Internal::TDirectoryAtomicAdapter’ and ‘std::nullptr_t’)
if (gDirectory != nullptr) // check if this pointer exists
^
/home/testbeam/eudaq-v1/monitors/onlinemon/src/EUDAQMonitorCollection.cc:36:18: note: candidates are:
/home/testbeam/eudaq-v1/monitors/onlinemon/src/EUDAQMonitorCollection.cc:36:18: note: operator!=(TDirectory*, TDirectory*) <built-in>
In file included from /home/testbeam/root/myBuild/include/TDirectoryFile.h:25:0,
from /home/testbeam/root/myBuild/include/TFile.h:28,
from /home/testbeam/eudaq-v1/monitors/onlinemon/src/../include/EUDAQMonitorCollection.hh:13,
from /home/testbeam/eudaq-v1/monitors/onlinemon/src/EUDAQMonitorCollection.cc:8:
/home/testbeam/root/myBuild/include/TDirectory.h:266:12: note: bool ROOT::Internal::TDirectoryAtomicAdapter::operator!=(const TDirectory*) const
bool operator!=(const TDirectory *other) const {
^
/home/testbeam/root/myBuild/include/TDirectory.h:274:12: note: bool ROOT::Internal::TDirectoryAtomicAdapter::operator!=(TDirectory*) const
bool operator!=(TDirectory *other) const {
^
/home/testbeam/eudaq-v1/monitors/onlinemon/src/HitmapCollection.cc: In member function ‘virtual void HitmapCollection::Write(TFile*)’:
Is there a way to check the existence of gDirectory
?
_ROOT Version: 2.24.06
_Platform: CENTOS7
_Compiler: GCC 4.8.5