因此,我正在制作Vector STL类的自己的副本。我知道这只是我正在做的事,不切实际。我正在使用Visual Studio。这是我的代码...
myVector.h
namespace CS52 {
class Vector {
public:
friend std::ostream& operator<<(std::ostream&, Vector &);
};
}
myVector.cpp
#include "myVector.h"
#include <fstream>
std::ostream& CS52::Vector::operator<<(std::ostream&, CS52::Vector &)
{
// TODO: insert return statement here
}
我得到的错误是类“ CS52 :: Vector”没有成员“ operator <<” 谢谢
答案 0 :(得分:0)
您仅声明此运算符是该类的朋友。
这应该是这样的:
namespace CS52 {
class Vector {
public:
friend std::ostream& operator<<(std::ostream&, Vector &);
};
std::ostream& operator<<(std::ostream& stream, Vector &v);
}
然后:
namespace CS52 {
std::ostream& operator<<(std::ostream& stream, Vector &v)
{
return stream;
}
}