Корректность константы шаблона не может передать указатель константного объектаC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Корректность константы шаблона не может передать указатель константного объекта

Сообщение Гость »

У меня есть шаблон с этим определением, и я называю его так.

Код: Выделить всё

#include 

template
class MyClass
{
public:
void Print(const T fooIn)
{
std::cout GetString() str = str;
}
std::string GetString()
{
return str;
}
};

template class MyClass;

int main()
{
const MyObject* foo = new MyObject("test");
MyClass* bar = new MyClass();

bar->Print(foo);

return 0;
}
Я получаю сообщение об ошибке: «Невозможно инициализировать параметр типа Object * с помощью lvalue типа const Object *». Я использую Clangd
Поскольку T=Object*, почему const T не равно const Object *?
Я думаю, что вместо этого он разрешился в Object* const
И как мне сделать так, чтобы он имел желаемую функциональность постоянства по отношению к объекту, на который он указывает, и я не хочу менять создание экземпляра на const Object *

Подробнее здесь: https://stackoverflow.com/questions/781 ... ct-pointer
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»