gpt4 book ai didi

C++:如何防止模板专门化指针?

转载 作者:可可西里 更新时间:2023-11-01 18:03:35 24 4
gpt4 key购买 nike

如果我愚蠢到找不到如此明显的答案,我会开始道歉。

我看过很多页面都在谈论为指针参数进行特定的模板特化。

不过,我希望能够阻止模板专门化指针参数,但我不知道该怎么做。

template< class T >
void function( T arg )
{
//...
}

int main( )
{
int i = 42;

function( i ); // Ok
function( &i ); // Die bastart with a compiler error!
}

这可能吗?

谢谢。

最佳答案

你可以声明特化(在这种情况下它在技术上只是一个重载)但不定义它:)

template<typename T >
void function( T arg )
{
//...
}

template<typename T >
void function( T* arg ); //no definition

int main()
{
int i = 42;
function( i ); // Ok
function( &i ); //ERROR
}

关于C++:如何防止模板专门化指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9312391/

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