Wie die Erben von std::runtime_error?
Beispiel:
#include <stdexcept>
class A { };
class err : public A, public std::runtime_error("") { };
int main() {
err x;
return 0;
}
Mit ("")
nach runtime_error
ich bekommen:
error: expected '{' before '(' token
error: expected unqualified-id before string constant
error: expected ')' before string constant
sonst (ohne ("")
) bekomme ich
In constructor 'err::err()':
error: no matching function for call to 'std::runtime_error::runtime_error()'
Was mache ich falsch?
(Sie können es hier testen: http://www.compileonline.com/compile_cpp_online.php)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist der richtige syntax:
Und nicht:
Wie Sie tun, über. Wenn Sie möchten, übergeben Sie einen leeren string an den Konstruktor von
std::runtime_error
, tun Sie es auf diese Weise:Hier ist ein live-Beispiel zu zeigen, den code zu kompilieren.
no matching function for call to 'std::runtime_error::runtime_error()'
err() : std::runtime_error("") { }
. Es ist nicht so, dass ich wollen übergeben Sie eine leere Zeichenfolge - ich bin der