Array of ifstream in ROOT6

Hello,
I need an array of ifstream in ROOT. But:

[tikhomir@lxplus764] ~ $ root
   ------------------------------------------------------------
  | Welcome to ROOT 6.18/04                  https://root.cern |
  |                               (c) 1995-2019, The ROOT Team |
  | Built for linuxx8664gcc on Sep 11 2019, 15:38:23           |
  | From tags/v6-18-04@v6-18-04                                |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
   ------------------------------------------------------------

root [0]  ifstream myFiles[5];
In file included from /builddir/build/BUILD/root-6.18.04/builddir/input_line_2:1:
/builddir/build/BUILD/root-6.18.04/builddir/etc/cling/Interpreter/RuntimeUniverse.h:165:46: error: call to implicitly-deleted copy constructor of 'std::basic_ifstream<char>'
          new ((void*)(((T*)placement) + i)) T(src[i]);
                                             ^ ~~~~~~
note: in instantiation of function template specialization
      'cling::runtime::internal::copyArray<std::basic_ifstream<char>,
      std::basic_ifstream<char> (*)()>' requested here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/fstream:427:28: note: copy constructor of 'basic_ifstream<char, std::char_traits<char> >' is
      implicitly deleted because base class 'basic_istream<char,
      std::char_traits<char> >' has a deleted copy constructor
    class basic_ifstream : public basic_istream<_CharT, _Traits>
                           ^
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/istream:58:27: note: copy constructor of 'basic_istream<char, std::char_traits<char> >' is implicitly
      deleted because base class 'basic_ios<char, std::char_traits<char> >' has
      a deleted copy constructor
    class basic_istream : virtual public basic_ios<_CharT, _Traits>
                          ^
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/basic_ios.h:66:23: note: copy constructor of 'basic_ios<char, std::char_traits<char> >' is implicitly
      deleted because base class 'std::ios_base' has an inaccessible copy
      constructor
    class basic_ios : public ios_base
                      ^
root [1]

What is wrong? How can I open several input disk files in ROOT? BTW, were is no such a problem with ROOT5 version installed in my PC locally:

[tikhomir@pascal25] ~ $ /opt/ROOT/5.34.30/root/bin/root
  *******************************************
  *                                         *
  *        W E L C O M E  to  R O O T       *
  *                                         *
  *   Version   5.34/30     23 April 2015   *
  *                                         *
  *  You are welcome to visit our Web site  *
  *          http://root.cern.ch            *
  *                                         *
  *******************************************

ROOT 5.34/30 (v5-34-30@v5-34-30, Apr 23 2015, 18:31:46 on linuxx8664gcc)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0]  ifstream myFiles[5];
root [1]

Can somebody help? Thanks!
Best wishes,
Vladimir.

ROOT Version: Not Provided
Platform: Not Provided
Compiler: Not Provided


Indeed there is a deficiency that prevent the creation of array of ifstream on the command line. Either use an array of pointer of ifstream or use them within a script/function.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.