Почему мне не выдает ошибок при определении, ведь оператор -> должен возвращать указатель или класс, у которого есть -> ?
struct X {
int operator -> () {
return 42;
}
};
int main() {
X x;
x.operator->();
// x->(); // error
}
Стандарт не устанавливает требований на тип, возвращаемый перегруженным оператором ->
. Однако возвращение чего-то, не имеющего ->
, делает невозможным вызов этого оператора как оператора (а вызов как функции все равно будет работать)
16.5.6 Class member access [over.ref]
1 operator->
shall be a non-static member function taking no parameters. It implements the class member access syntax that uses ->
.
postfix-expression -> template opt id-expression
postfix-expression -> pseudo-destructor-name
An expression x->m
is interpreted as (x.operator->())->m
for a class object x of type T
if T::operator->()
exists and if the operator is selected as the best match function by the overload resolution mechanism
Прочитал статьи, смотрю видео и заметил вот такую конструкцию:
Как использовать scheduled аннотация из спринга?допустим есть какой то метод который удаляет данные из БД MYSQL можно ли сделать так что с помощю...
Есть массив точек (X, Y, Высота(Z)), мне нужно изобразить изолинии по этим точкам, типа вот такого: