Gibt es eine Möglichkeit, einen Konvertierungsoperator zu definieren, der einen Parameter akzeptiert?C++ - Konvertierungsoperator mit Parameter
Hier ist mein Anwendungsfall:
class RGBColor
{
operator RGBAColor (const float alpha = 1.0) const noexcept;
}
Ich habe Umwandlung Betreiber von/HSB und RGB-Farben und RGBA zu RGB (durch die Alpha-dropping), aber ich habe Schwierigkeiten von RGB Umwandlung zu RGBA, da ich die Fähigkeit haben muss, das Alpha als einen Parameter zu liefern (anstatt immer einen voreinzustellen).
Ich gehe davon aus, dass ich werde etwas fallen zurück wie:
RGBAColor ToRGBAColor (const float alpha = 1.0) const noexcept;
Allerdings würde ich es vorziehen, Standard C++ Konvertierung zu verwenden, so frage ich mich nur, wenn es irgendeine Art und Weise zu bedienen ist ein Konvertierungsoperator, der einen Parameter akzeptiert.
dass das, was für ar Konstruktoren. –
Ein Konvertierungsoperator kann kein zusätzliches Argument verwenden. Wie würden Sie es liefern? Ihre Konvertierungsfunktion, OTOH, sieht für mich gut aus. – 5gon12eder
@IntellectualKitty Wie bereits erwähnt, stellen Sie einen Konstruktor wie 'RGBAColor (const RGBColor & rgb, float alpha = 1.0)' –