- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这些似乎是我唯一的错误。据我了解,如果我将“sortedListClass”设置为等于另一个声明的“sortedListClass”,或者如果我询问它们是否小于、等于、不等于等,我只需要重载一个运算符。但这些是用户声明...未声明“sortedListClasses”所以我很困惑..任何人都可以阐明这些编译错误吗?谢谢!
我将包括我拥有的所有代码,以防其中任何一个对错误有重要意义...
基本上我正在处理带有结构和指针的链表..
这是我的 list.h:
#ifndef LIST_H
#define LIST_H
struct cities
{
string city;
};
typedef cities listItemType;
typedef struct Node* nodePtr;
struct Node
{
listItemType data;
nodePtr next;
};
#endif
这是我的 sortedListClass.h :
#include <iostream>
#include <fstream>
using namespace std;
#include "list.h"
#ifndef sortedList_Class
#define sortedList_Class
class sortedListClass
{
private:
int size;
nodePtr Head;
public:
//Constructors and Destructor
sortedListClass();
sortedListClass(const sortedListClass& L);
~sortedListClass();
//List operations
void ListInsert(listItemType NewItem);
void ListDelete();
void RetrieveCity();
void PrintList();
int ListLength() const;
bool ListIsEmpty() const;
}; //End Class
#endif
这是我的 sortedListClass.cpp :
//Sorted List Class
//Contains function definitions for actions towards the cities Linked List
#include "sortedListClass.h"
#include <iostream>
#include <cstdlib>
#include <string>
sortedListClass::sortedListClass()
{
size = 0;
Head = NULL;
}
sortedListClass::sortedListClass(const sortedListClass& List)
{
if(List.Head == NULL)
Head = NULL;
else
{
Head = new Node;
Head->data = List.Head->data;
nodePtr NewPtr = Head;
for(nodePtr OrigPtr = List.Head -> next; OrigPtr != NULL; OrigPtr = OrigPtr-> next)
{
NewPtr-> next = new Node;
NewPtr = NewPtr -> next;
NewPtr -> data = OrigPtr -> data;
}
NewPtr -> next = NULL;
}
}
sortedListClass::~sortedListClass()
{
bool success;
while(!ListIsEmpty())
ListDelete();
}
bool sortedListClass::ListIsEmpty() const
{
return bool( size == 0);
}
int sortedListClass::ListLength() const
{
return size;
}
void sortedListClass::RetrieveCity()
{
string city;
bool success;
cout <<"Input a city name: ";
cin >> city;
cout << endl;
nodePtr cur = Head;
while(cur != NULL)
{
if(cur->data == city)
{
cout <<"This city is found" << endl;
success = true;
}
cur = cur->next;
}
if(!success)
cout <<"This city is not served" << endl;
}
void sortedListClass::PrintList()
{
nodePtr cur = Head;
cout << "Number of cities: " << size << endl;
while(cur!= NULL)
{
cout <<cur->data;
cur = cur->next;
}
}
void sortedListClass::ListInsert(listItemType Item)
{
nodePtr newNode = new Node;
newNode -> data = Item;
newNode->next = NULL;
if(Head = NULL)
Head = newNode;
else if (Item < Head->data)
{
newNode->next = Head;
Head = newNode;
}
nodePtr curr = Head, prev = Head;
while((newNode->data > curr->data) && (curr != NULL))
{
prev = curr;
curr = curr -> next;
}
if(curr->next == NULL)
{
curr->next = newNode;
newNode->next = NULL;
}
else if(curr->data > newNode->data)
{
newNode->next = curr;
prev->next = newNode;
}
}
void sortedListClass::ListDelete()
{
bool success = false;
string city;
cout << "Enter a city name to delete from the list: " << endl;
cin >> city;
nodePtr p = new Node;
nodePtr curr, prev;
curr = Head;
prev = Head;
p -> data = city;
p -> next = NULL;
if(Head == NULL)
cout <<"Unable to delete anything, list is empty." << endl;
else
{
while(curr->next != NULL)
{
if(curr -> data == p -> data)
{
prev->next = curr->next;
curr->next = NULL;
delete curr;
curr = NULL;
success = true;
}
else
prev = curr;
curr = curr->next;
}
}
if(!success)
cout <<"This city does not exist. Deletion cannot be performed." << endl;
}
这是我遇到的错误...
sortedListClass.cpp: In member function ‘void sortedListClass::RetrieveCity()’:
sortedListClass.cpp:63: error: no match for ‘operator==’ in ‘cur->Node::data == city’
sortedListClass.cpp: In member function ‘void sortedListClass::PrintList()’:
sortedListClass.cpp:81: error: no match for ‘operator<<’ in ‘std::cout << cur->Node::data’
/usr/include/c++/4.4/ostream:108: note: candidates are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>& (*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:117: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:127: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:165: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:169: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:173: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/bits/ostream.tcc:91: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:180: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/bits/ostream.tcc:105: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:191: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:200: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:204: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:209: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:213: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:221: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/ostream:225: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/bits/ostream.tcc:119: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]
sortedListClass.cpp: In member function ‘void sortedListClass::ListInsert(listItemType)’:
sortedListClass.cpp:93: error: no match for ‘operator<’ in ‘Item < ((sortedListClass*)this)->sortedListClass::Head->Node::data’
sortedListClass.cpp:100: error: no match for ‘operator>’ in ‘newNode->Node::data > curr->Node::data’
sortedListClass.cpp:111: error: no match for ‘operator>’ in ‘curr->Node::data > newNode->Node::data’
sortedListClass.cpp: In member function ‘void sortedListClass::ListDelete()’:
sortedListClass.cpp:128: error: no match for ‘operator=’ in ‘p->Node::data = city’
list.h:5: note: candidates are: cities& cities::operator=(const cities&)
sortedListClass.cpp:136: error: no match for ‘operator==’ in ‘curr->Node::data == p->Node::data’
[1]+ Done scite sortedListClass.cpp
最佳答案
I only needed to overload an operator if I was setting "sortedListClass" equal to another declared "sortedListClass" or if I was asking if they were less than, equal to, not equal to, etc
您正在使用 listItemType
执行这些操作,并且从未为其创建任何运算符。
看看它如何提示诸如 ‘cur->Node::data == city’
之类的表达式?左侧的类型为 listItemType
,右侧的类型为 std::string
。编译器不知道您希望它对这两件事做什么。
类似地:
error: no match for ‘operator>’ in ‘newNode->Node::data > curr->Node::data’
该表达式的两边都有类型 listItemType
。您需要为该类型定义 operator>
。
我意识到错误输出冗长而复杂,但您需要的所有信息都在某处!
关于c++ - 我在这里做错了什么?我的编译中有几个 "no match for operator"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869179/
我已经使用 vue-cli 两个星期了,直到今天一切正常。我在本地建立这个项目。 https://drive.google.com/open?id=0BwGw1zyyKjW7S3RYWXRaX24tQ
您好,我正在尝试使用 python 库 pytesseract 从图像中提取文本。请找到代码: from PIL import Image from pytesseract import image_
我的错误 /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference
我已经训练了一个模型,我正在尝试使用 predict函数但它返回以下错误。 Error in contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]])
根据Microsoft DataConnectors的信息我想通过 this ODBC driver 创建一个从 PowerBi 到 PostgreSQL 的连接器使用直接查询。我重用了 Micros
我已经为 SoundManagement 创建了一个包,其中有一个扩展 MediaPlayer 的类。我希望全局控制这个变量。这是我的代码: package soundmanagement; impo
我在Heroku上部署了一个应用程序。我正在使用免费服务。 我经常收到以下错误消息。 PG::Error: ERROR: out of memory 如果刷新浏览器,就可以了。但是随后,它又随机发生
我正在运行 LAMP 服务器,这个 .htaccess 给我一个 500 错误。其作用是过滤关键字并重定向到相应的域名。 Options +FollowSymLinks RewriteEngine
我有两个驱动器 A 和 B。使用 python 脚本,我在“A”驱动器中创建一些文件,并运行 powerscript,该脚本以 1 秒的间隔将驱动器 A 中的所有文件复制到驱动器 B。 我在 powe
下面的函数一直返回这个错误信息。我认为可能是 double_precision 字段类型导致了这种情况,我尝试使用 CAST,但要么不是这样,要么我没有做对...帮助? 这是错误: ERROR: i
这个问题已经有答案了: Syntax error due to using a reserved word as a table or column name in MySQL (1 个回答) 已关闭
我的数据库有这个小问题。 我创建了一个表“articoli”,其中包含商品的品牌、型号和价格。 每篇文章都由一个 id (ID_ARTICOLO)` 定义,它是一个自动递增字段。 好吧,现在当我尝试插
我是新来的。我目前正在 DeVry 在线学习中级 C++ 编程。我们正在使用 C++ Primer Plus 这本书,到目前为止我一直做得很好。我的老师最近向我们扔了一个曲线球。我目前的任务是这样的:
这个问题在这里已经有了答案: What is an undefined reference/unresolved external symbol error and how do I fix it?
我的网站中有一段代码有问题;此错误仅发生在 Internet Explorer 7 中。 我没有在这里发布我所有的 HTML/CSS 标记,而是发布了网站的一个版本 here . 如您所见,我在列中有
如果尝试在 USB 设备上构建 node.js 应用程序时在我的树莓派上使用 npm 时遇到一些问题。 package.json 看起来像这样: { "name" : "node-todo",
在 Python 中,您有 None单例,在某些情况下表现得很奇怪: >>> a = None >>> type(a) >>> isinstance(a,None) Traceback (most
这是我的 build.gradle (Module:app) 文件: apply plugin: 'com.android.application' android { compileSdkV
我是 android 的新手,我的项目刚才编译和运行正常,但在我尝试实现抽屉导航后,它给了我这个错误 FAILURE: Build failed with an exception. What wen
谁能解释一下?我想我正在做一些非常愚蠢的事情,并且急切地等待着启蒙。 我得到这个输出: phpversion() == 7.2.25-1+0~20191128.32+debian8~1.gbp108
我是一名优秀的程序员,十分优秀!