请在以下代码中建议错误
kindly suggest the mistake in following code?
#include<iostream.h>
template<class T>
class myclass;
template<class T>
void f(myclass<T> &c);
template<class T>
class myclass
{
private:
T value;
public:
friend void f(myclass<T> &c);
T getvalue()
{
return value;
}
void setvalue(T v)
{
value=v;
}
};
template<class T>
void f(myclass<T> &c)
{
cout<<endl<<"function called:n";
cout<<c.getvalue()<<endl;
}
int main()
{
myclass<int> object;
object.setvalue(6);
f(object);
return 0;
}
此代码是关于具有友元函数的模板。运行代码时,我收到以下错误:
错误:第 22 行中未定义对 F(Myclass &) 的引用
请提前建议。
像这样声明友元函数
friend void f<>(myclass<T> &c);
同样在"新"C++标题iostream中应指定为:
#include <iostream>
你应该使用指令
using namespace std;
如果您不想更改程序中的其他代码。
您错过了在friend
声明中指定模板:
template<typename U>
friend void f(myclass<U> &c);
请在此处查看完整的工作示例。
相关文章:
- 错误处理.将系统错误代码映射到泛型
- 为什么我在使用void函数时得到错误代码C2276
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- 逻辑运算符上出现错误代码 a')'
- 'val' Arduino 错误代码之前的预期'('
- 我在贪吃蛇游戏中收到了错误代码 -1073741571
- 根据 GetLastError 直接写入磁盘会导致错误代码 5
- 当我选择大于 720 的矩阵大小时,程序退出并显示错误代码.可能是什么原因?
- 创建进程 API 失败,在窗口 122 上出现错误代码 10
- 使用另一个函数调用一个函数(都在类中)时出现问题.没有错误代码C++
- 当命令失败时,gzip 会在 C++ 中返回错误代码吗?
- 从 C++ 调用 cURL 命令会返回意外的错误代码,如 1792 和 6656
- WSALookupServiceBegin() 上的错误代码 10022(无效的 arugment)
- C++ Schannel POST 400 错误代码错误请求
- openCL-创建子缓冲区返回错误代码13
- 更新了Runge-Kutta(RK4)C++错误代码中的二阶DE
- 获取有关使用未初始化内存的错误代码
- 排序程序的意外错误代码
- 正在将DJI错误代码记录到流中
- 来自API的错误代码..处理什么是好的做法