gpt4 book ai didi

c++ - 自动类模板?

转载 作者:太空狗 更新时间:2023-10-29 19:50:49 26 4
gpt4 key购买 nike

有没有办法让编译自动推导出模板参数?

template<class T> 
struct TestA
{
TestA(T v) {}
};
template<class T>
void TestB(T v)
{
}
int main()
{
TestB (5);
}

测试 B 工作正常,但是当我将它更改为 TestA 时,它不会编译并出现错误“类模板的使用需要模板参数列表”

最佳答案

不,没有。永远不会推导类模板。通常的模式是有一个 make_ 自由函数:

template<class T> TestA<T> make_TestA(T v)
{
return TestA<T>(v);
}

例如,参见 std::pairstd::make_pair

在 C++0x 中你将能够做到

auto someVariable = make_TestA(5);

避免必须为局部变量指定类型。

关于c++ - 自动类模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/285372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com