Technical data
Cray Standard C/C++ Reference Manual
the object and the function pointed to will not modify the object. The opposite
assignment would not be safe.
• Conversion operators that specify a conversion to void are allowed.
• A nonstandard friend declaration can introduce a new type. A friend
declaration that omits the elaborated type specifier is allowed in default
mode, however, in cfront mode the declaration can also introduce a new
type name. An example follows:
struct A {
friend B;
};
• The third operator of the ? operator is a conditional expression instead of
an assignment expression.
• A reference to a pointer type may be initialized from a pointer value without
use of a temporary even when the reference pointer type has additional type
qualifiers above those present in the pointer value. For example:
int *p;
const int *&r = p; // No temporary used
• A reference can be initialized to NULL.
• Because cfront does not check the accessibility of types, access errors for types
are issued as warnings instead of errors.
• When matching arguments of an overloaded function, a const variable
with a value of 0 is not considered to be a null pointer constant. In general,
in overload resolution, a null pointer constant must be spelled “0” to be
considered a null pointer constant (e.g., ’\0’ is not considered a null pointer
constant).
• An alternate form of declaring pointer-to-member-function variables is
supported, as shown in the following example:
166 S–2179–36










