gpt4 book ai didi

c++ - 即使声明了变量也没有声明

转载 作者:行者123 更新时间:2023-11-30 01:16:18 26 4
gpt4 key购买 nike

我在模板友元运算符重载中的变量声明有一些(看起来很简单?)问题。编译器给我一条消息:

main.cpp|103|错误:“ptemp”未在此范围内声明|

代码:

template <typename K, typename I>
class Sequence
{
private:
struct Data
{
K key;
I data;
Data *pnext;
};

Data *pHead;
public:
//(...)
friend ostream &operator << <I,K> (ostream&, const Sequence<I,K>&);
};



template <typename I, typename K>
ostream &operator << (ostream& stream, const Sequence<I,K> &cop)
{
Sequence<I,K>::Data *ptemp (cop.pHead); ///here is the error (?)

stream << "-------------- PRINT BEGINS ---------------" << endl;
if (!ptemp) //there is no elements
{
stream << "The list is empty, there is nothing to print!" << endl;
stream << "-------------- PRINT ENDS ---------------" << endl << endl;
return stream;
};
}

当我进行声明时,编译器给出的信息是没有声明的“ptemp”。当我删除 ptemp 的初始化时也是如此。我不明白这个声明有什么问题。如果有任何建议,我将不胜感激。

最佳答案

尝试以下操作

typename Sequence<I,K>::Data *ptemp (cop.pHead); 

关于c++ - 即使声明了变量也没有声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26874427/

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