2018-04-17 09:39:40 +00:00
|
|
|
// The constructor of a base class should not be visible in the derived class
|
2020-06-23 12:14:24 +00:00
|
|
|
contract A { constructor(string memory) { } }
|
2018-04-17 09:39:40 +00:00
|
|
|
contract B is A {
|
|
|
|
function f() pure public {
|
2020-11-10 13:14:43 +00:00
|
|
|
A x = A(address(0)); // convert from address
|
2018-04-17 09:39:40 +00:00
|
|
|
string memory y = "ab";
|
|
|
|
A(y); // call as a function is invalid
|
|
|
|
x;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// ----
|
2023-02-13 19:18:08 +00:00
|
|
|
// TypeError 3415: (124-303): No arguments passed to the base constructor. Specify the arguments or mark "B" as abstract.
|
2020-11-10 13:14:43 +00:00
|
|
|
// TypeError 9640: (252-256): Explicit type conversion not allowed from "string memory" to "contract A".
|