DOCERR: Description of C2354 Error Is UnclearLast reviewed: September 26, 1997Article ID: Q147427 |
The information in this article applies to:
SUMMARYNeither the error message itself nor the online documentation for the C2354 compiler error clearly specify the cause of this error:
'reference' : initialization of reference member requires a temporary variable MORE INFORMATIONIt is illegal to initialize a reference member of a class in the class's constructor with a temporary variable. An attempt to do so generates the C2354 error, as illustrated by this sample code:
int temp() { return 1; } class Test { public: int member; int& ref_member; Test(); }; Test::Test() : ref_member( temp() ) { }When this error is encountered, the solution is to change the code so that the reference member is not initialized to a temporary variable. The reference must be initialized to an object that will exist for the lifetime of the reference member.
|
Additional query words: vcbuglist400
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |