Я использую псевдонимы типов для указателя и const указателя и не понимаю, почему существует разница между возвратом константного указателя и const_pointer.
Я предполагал, что указатель const в данном случае эквивалентен const int*, но получаю недопустимую ошибку компиляции преобразования:
ошибка: недопустимое преобразование из 'const int*' в 'S::pointer {aka int*
struct S
{
using pointer = int*;
using const_pointer = const int*;
// const_pointer get() const { return &i; } // OK
const pointer get() const { return &i; } // ERROR
int i = {};
};
int main()
{
const S s;
s.get();
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... pe-aliases
Недопустимое преобразование из «const T*» в «T*» с использованием псевдонимов типов ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Предоставление функций, структур и псевдонимов типов в Godot 4 с помощью GDExtension?
Anonymous » » в форуме C++ - 0 Ответы
- 53 Просмотры
-
Последнее сообщение Anonymous
-