C++ error C2893
C++ error C2893
---已回答 --> 使运算符函数常量!
我正在编写模板并不断收到以下错误:
错误1 错误 C2893:无法专用化函数模板"未知类型 std::less::运算符 ()(_Ty1 &&,_Ty2 &&) const"
尝试将模板与类一起使用时,即使该类具有重载运算符。请注意,该模板确实适用于基元
____TEMPLATE_________
#include <vector>
#include <algorithm>
using namespace std;
template <class T>
class Set{
int elements;
vector <T> MySet;
public:
//error is due to this function
bool find(const T& value) const
{
return binary_search(MySet.begin(), MySet.end(), value);
}
_____CLASS_________
class CCustomer{
public:
int CustomerId;
string Name;
string Surname;
int Phone;
CCustomer(int ID, string Name, string Surname, int Phone)
{
this->CustomerId = ID;
this->Name = Name;
this->Surname = Surname;
this->Phone = Phone;
}
bool operator==(const CCustomer &RHS)
{
if (this->CustomerId == RHS.CustomerId)
{
return true;
}
return false;
}
bool operator<(const CCustomer &RHS)
{
if (this->CustomerId < RHS.CustomerId)
{
return true;
}
return false;
}
bool operator>(const CCustomer &RHS)
{
if (this->CustomerId > RHS.CustomerId)
{
return true;
}
return false;
}
};
_____MAIN_______
void main()
{
CCustomer TEST (1234, "abc", "def", 456);
Set <CCustomer> Myset;
Myset.find(Test);
}
声明运算符<</p>
bool operator<(const CCustomer &RHS) const;
例如
bool operator<( const CCustomer &RHS) const
{
return this->CustomerId < RHS.CustomerId;
}
相关文章:
- "error: no matching function for call to"构造函数错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- C++错误:"error: int aaa::bbb is protected within this context"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- C++ "error: invalid use of void expression"
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 如何修复"error: ‘_1’ was not declared in this scope"?
- 从不同目录执行时"symbol lookup error:",否则从构建目录执行时按预期工作
- 对象声明中的模板"error: expected expression"
- 在C++中使用 Catch 测试框架编译错误"error: expected ';' at end of declaration list"
- OpenCV 3.4.1 error readNetFromTensorflow 无法在 cv::d nn::ReadProtoFromBinaryFile 中打开 .pb
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 为什么我会"error: expected expression"?
- CMake Error at modules/videoio/cmake/detect_ffmpeg.cmake:16
- 如果两个静态库使用相同的另一个静态库,如何避免"LNK2005 Already Defined error"?
- C++ error C2893