From: Georg Bauhaus <bauhaus@futureapps.de>
Subject: Re: Type safety, C++ and code generation
Date: Thu, 27 Apr 2006 17:39:39 +0200
Date: 2006-04-27T19:39:11+02:00 [thread overview]
Message-ID: <445101bf$0$11061$9b4e6d93@newsread4.arcor-online.net> (raw)
In-Reply-To: <e2qn8t$n13$1@sunnews.cern.ch>
Maciej Sobczak wrote:
> type ranged_type<int, 0, 250> Speed;
> Speed s1, s2, s3; // with some values
> s1 = s2 + s3; // OK
> s1 = s2 * s3; // not OK
>
> The addition is fine, but the multiplication should not be provided,
> because speed multiplied by speed is not a speed. Can you extend your
> class so that the compiler will refuse to compile the second operation
> above?
> (Ada, anyone? :) )
Just so it is visible:
procedure useop is
s1, s2, s3: SPEED; -- with some values
begin
s3 := s1 * s2;
end useop;
8. s3 := s1 * s2;
|
>>> cannot call abstract subprogram "*"
where
package Op is
type SPEED is range 0 .. 250;
function "*"(a, b: SPEED) return SPEED is abstract;
end Op;
next prev parent reply other threads:[~2006-04-27 15:39 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-27 10:35 Type safety, C++ and code generation Maciej Sobczak
2006-04-27 13:19 ` REH
2006-04-27 14:08 ` Maciej Sobczak
2006-04-27 14:33 ` REH
2006-04-27 15:16 ` Maciej Sobczak
2006-04-27 15:39 ` Georg Bauhaus [this message]
2006-04-28 5:57 ` Maciej Sobczak
2006-04-28 12:16 ` Georg Bauhaus
2006-04-28 12:37 ` brian.b.mcguinness
2006-04-28 17:04 ` Georg Bauhaus
2006-04-28 18:50 ` Jeffrey R. Carter
2006-04-28 19:07 ` Randy Brukardt
2006-04-28 19:46 ` Robert A Duff
2006-04-28 19:55 ` Dmitry A. Kazakov
2006-04-29 21:28 ` Florian Weimer
2006-04-27 16:05 ` REH
2006-04-28 6:17 ` Maciej Sobczak
2006-04-30 14:40 ` adaworks
2006-04-30 15:23 ` REH
2006-04-30 18:14 ` Martin Krischik
2006-05-02 6:27 ` Maciej Sobczak
2006-05-02 13:33 ` REH
2006-05-02 15:05 ` Maciej Sobczak
2006-05-02 15:54 ` REH
2006-05-02 16:50 ` Martin Krischik
2006-05-02 19:50 ` REH
2006-04-27 14:47 ` REH
2006-04-27 15:10 ` REH
2006-04-28 6:22 ` Maciej Sobczak
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox