на моем последнем экзамене мне нужно написать некоторый код, чтобы сделать этот основной файл компилируемым. Но после экзамена я трачу много времени, и у меня нет идеи, что я должен добавить в функцию test_value. Я знаю, что test_value должен быть статичным, но я понятия не имею, что я должен возвращать. Может ли кто-нибудь дать мне подсказку, что делать с этой проблемой?C++ шаблон с парой и статической функцией
#include <utility>
#include <iostream>
typedef int Int;
template <typename T>
class ptr
{
public:
T val;
ptr(void* a){}
static T test_value(){
//what exactly should be there?
}
};
int main(int argc, char const *argv[])
{
std::pair<int,int>* a = new std::pair<int,int>;
std::cout<<a->first;
typedef ptr<std::pair<Int,Int> > TestType;
TestType t1 = TestType(new TestType::test_value());
return 0;
}
если TestType :: test_value является ИНТ ЬурейеЕ, как вы ожидаете TestType (новый Int()) для компиляции? –
@SamVarshavchik Конструктор принимает 'void *', поэтому вы можете преобразовать в него другой тип указателя. – Brian
У меня просто есть ментальный блок, видя выражение «new int()». Просто сделайте ментальный блок при вызове конструктора для «int». –