Boost logo

Boost :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2004-08-23 03:30:54


currently beforementioned test fails on tru64cxx65 with the following error

cxx: Error: ../libs/algorithm/string/test/container_test.cpp, line 94: #434 a
           reference of type "char *&" (not const-qualified) cannot be
           initialized with a value of type "char [4]"
     argument_test( ach1, "abc" );

The underlying problem is illustrated by the following code snippet:

template< typename T >
void argument_cv_test( const T& C, const string& strResult )

template< typename T >
void argument_test( T& C, const string& strResult )

void foo()
     char ach1[]="abc";
     argument_cv_test( ach1, "abc" ); // ok
     argument_test( ach1, "abc" ); // not ok

The line marked as not ok triggers the error. I tried to compile that code
snippet with Comeau online and it succeeds. But I could not find a
definitive answer in the C++ standard whether that code is legal or not.

If it's legal, could anyone please provide me with a reference to the
paragraph of the standard which applies here? I would need that to file a
proper bug report to HP.

TIA, Markus

Boost list run by bdawes at, gregod at, cpdaniel at, john at