Victor Perevoztchikov wrote: > > Hi Radovan, > > > > Int_t fun(const Int_t n, Int_t x) { > > > Int_t arr[n]; > > such array is forbidden by C++. Even if CINT can handle > it, it is better to avoid non C++ constructions Hi, I know, but G++ can handle it as well, look: test.C ----------------------------------------------------------------------------- #include <iostream> typedef int Int_t; Int_t okfun(const Int_t n, Int_t x) { Int_t* arr = new Int_t[n]; arr[n-1] = x; Int_t ret = arr[n-1]; delete [] arr; return ret; } void okpass(Int_t k, Int_t x) { for (Int_t i=1; i<=k ; i++) cout << "okfun(" <<i<<","<<x<<") = " << okfun(i,x) << endl; } Int_t fun(const Int_t n, Int_t x) { Int_t arr[n]; arr[n-1] = x; return arr[n-1]; } void pass(Int_t k, Int_t x) { for (Int_t i=1; i<=k ; i++) cout << "fun(" <<i<<","<<x<<") = " << fun(i,x) << endl; } int main( int argc, char* argv[] ) { cout << fun(1,5) << endl; cout << fun(2,5) << endl; pass(2,5); cout << okfun(1,5) << endl; cout << okfun(2,5) << endl; okpass(2,5); return 0; } ----------------------------------------------------------------------------- % g++ -g -Wall -ansi test.C -o test.exe % ./test.exe 5 5 fun(1,5) = 5 fun(2,5) = 5 5 5 okfun(1,5) = 5 okfun(2,5) = 5 Radovan
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:39 MET