🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by "Karl Berry." Mon, 26 Sep 1988 00:09
passing constructor arguments back in G++ 1.27.0
#1445
Author: "Karl Berry."
Date: Mon, 26 Sep 1988 00:09
54 lines
2202 bytes
This is on a Sun 3 machine, running Sun OS 3.4.

1) A printf statement in parse.y prints something like `State is nn, input 
token number is nnn.' for every syntax error. This is not very nice.

2) The real problem:
passing arguments to a base class constructor doesn't seem to work if the 
derived constructor is defined in the class definition. (Or maybe the problem 
is something entirely different.) In any case, the definitions:

struct base {
   base* next;

   base(base* p) { next = p; }
};

class derived :base {
   derived(int i) :(0) { v = i; }
private:
   int v;
};

compile without complaint under AT&T C++, and GNU C++ gives the following  
results:

% g++ -g -v -c x.cc
g++ version 1.27.0
 /usr/local/gnu/lib/gcc-cpp+ -v -undef -D__GNU__ -D__GNUG__ -Dmc68000 -Dsun -Dunix x.cc /tmp/cca00699.cpp
GNU CPP version 1.27.0
 /usr/local/gnu/lib/gcc-c++ /tmp/cca00699.cpp -quiet -dumpbase x.cc -noreg -version -G -o /tmp/cca00699.s
GNU C++ version 1.27.0 (68k, MIT syntax) compiled by GNU C version 1.28.

At top level:
x.cc:9: parse error before `private'
State is 51, input token number is 287.
x.cc:9: cannot open file parse.output

In function struct derived *derived::derived (int):
x.cc:8: parse error before `0'
State is 50, input token number is 263.
x.cc:8: cannot open file parse.output
x.cc:8: undeclared variable `i' (first use here)
x.cc:8: prior parameter's size depends on `$this'
x.cc:8: prior parameter's size depends on `$this'
x.cc:8: Segmentation violation
g++: Program c++ got fatal signal 11.


It makes no difference if the base is a class or a struct.
(That is, if `struct base' is replaced by `class base', and `:base'
is changed to `:public base', the results are the same.)


karl@umb.edu         ...!harvard!umb!karl
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