Re: warning C4238 : cast reference in void*
- From: Alex Blekhman <xfkt@xxxxxxxxx>
- Date: Thu, 02 Nov 2006 16:26:14 +0200
Eric wrote:
CString foo2(CString aString)
{
return aString;
}
void* foo(CString &aString)
{
return (void*)&foo2(aString); //give C4238 warning
}
int main()
{
CString aString;
void* ptr = foo(aString);
}
foo2 returns temporary _copy_ of CString. So, you're trying to return an address of temporary object. This code will crash at runtime.
.
- Follow-Ups:
- Re: warning C4238 : cast reference in void*
- From: Eric
- Re: warning C4238 : cast reference in void*
- References:
- warning C4238 : cast reference in void*
- From: Eric
- Re: warning C4238 : cast reference in void*
- From: Ulrich Eckhardt
- Re: warning C4238 : cast reference in void*
- From: Eric
- warning C4238 : cast reference in void*
- Prev by Date: Re: warning C4238 : cast reference in void*
- Next by Date: Re: warning C4238 : cast reference in void*
- Previous by thread: Re: warning C4238 : cast reference in void*
- Next by thread: Re: warning C4238 : cast reference in void*
- Index(es):
Relevant Pages
|