🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.ibm.pc.programmer
1 messages
1 total messages Started by Jeff Gortatowsky CUST Sun, 22 Jul 1990 03:37
Possible TC++ bugs
#1004
Author: Jeff Gortatowsky CUST
Date: Sun, 22 Jul 1990 03:37
47 lines
2471 bytes
Here's a couple of possible TC++ 1.0 bugs.  I'm still getting used
to C++ so maybe I'm wrong.
Try:
	if (SomeCondition)
		for (int i = 0; i < 100; i++)	// <-- TC++ says this line in error
			printf ("%d\n",i);

TC++ Tells me "Declaration not allowed here". I say, Why not?
However:
	if (SomeCondition) {	// < Note brace!
		for (int i = 0; i < 100; i++)	// <-- TC++ says this is A-OK
			printf ("%d\n",i);
	}	// Note: Brace!

TC++ thinks this is dandy.  "Me thinks it's a bug." The braces start
a new scope.  That's why  TC++ say everything is ok when braces are
present.  But I thought you could declare variables just about anywhere.?
Now for a more complex problem.  Starting with the mcircle example
program in the TC++ distribution I made a change or two.   Lots
deleted for brevity!

// Classes: Location, Point, Circle, GMessage, and MCircle
// Class inheritance:
// Location->Point->Circle (Circle inherits Point which inherits Location)
// Location->GMessage      (Notice Point is not inherited)
// (Circle and GMessage)->MCircle (Inherits Point from Circle, Yes?)
......
main(int argc, char **argv)      //draws some circles with text
{
    Point *pp; //Point pointer
    MCircle Small(250, 100, 25, SANS_SERIF_FONT, "You"); //make an MCircle
    pp = (Point *)&Small;	// <- without explict cast, TC++ gives error
.......
}

Without the cast to Point pointer TC++ tells me it's an illegal assignment
even though Point is a base class of MCircle via Circle.  Now GMessage
is derived from only Location. Is that the reason I must use a cast? 
Because GMessage has no Point class? In multiple inheritance must
all base classes have a class of 'type' before you can use a base class
pointer?  Something I'm missing?
BTW: Zortech 2.1 does not squawk about either example/bug.
--
Jeff Gortatowsky-Eastman Kodak Company  .....uunet!atexnet!kodak!elmgate!jdg
(716)-726-0084
Eastman Kodak makes film not comments.  Therefore these comments are mine
not theirs.
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