- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
enum class NodeFlags : int {
None = 0,
Let = 1 << 0,
// ...
}
contextFlags &= ~flag;
// error C2675: unary '~': 'NodeFlags' does not define this operator or a conversion to a type acceptable to the predefined operator
В каком месте стандарта это написано? enum class -- это примерно как класс, внутри которого есть поле с int'ом.
ему не по нраву, что стандарт такое не разрешает
Ты public не написал, а в приватного предка нельзя кастовать.
Кстати, вопрос про LSP со звездочкой: int наследуется от float или float от int?
Кстати, никакой гарантии про соотношение размера инта и флота, в общем, нет.
скотптоговно, ну
>I'm interested in subclassing the built-in int type in Python
https://stackoverflow.com/questions/3238350/subclassing-int-in-python
> int наследуется от float или float от int?
Ни то, ни другое.
В руби (весьма ООПнутой скриптшуне) у них есть общий предок: Numeric или как-то так.
Алгоритм -- псевдокот
запустим его для T = float и для T = int
Упал LSP?
Он же про подстановку инстанса, а не типа?
не хочешь генерики, давай без них
пусть есть
int extends float
a:int = 13
b:int = 2
assert a / b == 6
а если там флоат?
и наоборот
a:float = 0.05
assert round(a * 2, digitsAfterDot=1) == 0.1
а если там int?