gpt4 book ai didi

c++ - 函数模板的隐式实例化

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

我有以下代码,我只是为了练习函数模板而构思的。

#include <iostream>

template <typename T>
T fun( const T &t ) { return t; }

struct A {
int dataf;
A( int a ) : dataf(a) { std::cout << "birth\n"; }
friend A fun( const A & );
};

int main(){
A a( 5 );
fun( a );
return 0;
}

虽然我收到以下错误:

code.cc:(.text+0x32): undefined reference to `fun(A const&)'
collect2: ld returned 1 exit status

我很了解类模板,但我仍然对函数模板感到困惑。

最佳答案

将好友声明更改为:

template <class T> friend T fun( const T & );

或:

friend A fun<A>( const A & );

关于c++ - 函数模板的隐式实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14441583/

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