Код: Выделить всё
#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;
}
Поскольку T=Object*, почему const T не равно const Object *?
Я думаю, что вместо этого он разрешился в Object* const
И как мне сделать так, чтобы он имел желаемую функциональность постоянства по отношению к объекту, на который он указывает, и я не хочу менять создание экземпляра на const Object *
Подробнее здесь: https://stackoverflow.com/questions/781 ... ct-pointer