首页 > 解决方案 > 不能使用“==”运算符比较两个向量

问题描述

我有一个适用于我的 Arduino Uno 的程序,但由于某种原因,我得到了错误

'operator==' 不匹配(操作数类型为 'Vector' 和 'Vector')

在我的第二次矢量比较中,而不是第一次。

这是代表我的问题的代码。

#include <Vector.h>
void setup() {

}

void loop() {
  Vector<char> tACode; 
  Vector<char> aCode;
  aCode.push_back('0');
  aCode.push_back('0');
  aCode.push_back('0');
  Vector<char> nCode;
  nCode.push_back('0');
  nCode.push_back('0');
  if (tACode == aCode){
  }
  if (tACode == nCode){ 
  }
}

我花了几个小时试图弄清楚为什么会发生这种情况,但没有运气。我将不胜感激第二双眼睛。

标签: c++arduino

解决方案


取决于您的Vector类的定义,它可能没有operator==为它定义。

相反,您可以先比较它们的大小,如果有办法访问它,然后比较它们中的每个项目。


推荐阅读