Thread View: net.lang.c++
1 messages
1 total messages
Started by Bjarne Stroustrup
Sat, 24 May 1986 13:29
bug
Author: Bjarne Stroustrup
Date: Sat, 24 May 1986 13:29
Date: Sat, 24 May 1986 13:29
29 lines
1433 bytes
1433 bytes
cit-vax.Caltech.Edu (Jonathan P. Leech)
>
> The following code:
>
> int spam() {
> double (*z)[4] = (double (*)[4])0;
> }
>
> is legal C code. It is not legal C++ code (release 1.0),
> generating the following error message:
>
> "junk.c", line 2: error: z is undefined
>
> Declarations of this form seem not to cause any problem in member
> functions of classes (the only other context in which I had occasion
> to use them in C++ until tonight). This is a most annoying bug. Any
> help in fixes or workarounds would greatly appreciated.
Yes that is a nasty cfront bug. Sorry. The code is legal C++ but I have
persistent problems convincing YACC about that.
Fortunately the workaround is simple:
int spam() {
auto double (*z)[4] = (double (*)[4])0;
}
In general, if you get funny error messages in connection with pointer to
function declarations use a storage class specifier to help YACC.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads