#include "List.h"
#include "Node.h"
#include <iostream>
using namespace std;
void List::add(string s){
Node* newNode = new Node();
newNode->addString(s);
newNode->setNext(NULL);
Node *temp = head;
if(temp != NULL)
{
while(temp->Next() != NULL)
{
temp = temp->Next();
}
temp->setNext(newNode);
}
else
{
head = newNode;
}
}
void List::print(){
Node *temp = head;
if(temp == NULL)
{
cout<<"EMPTY"<< endl;
return;
}
if(temp->Next() == NULL)
{
cout<<temp->Word();
cout<< "-->";
cout<< "NULL" << endl;
}
else
{ do{
cout<<temp->Word();
cout<<"-->";
temp = temp->Next();
}
while( temp != NULL);
cout << "NULL" << endl;
}
}
void List::read(ifstream& fin){
while(!fin.eof())
{
fin>>sTemp;
add(sTemp);
}
}
using namespace std;
#include <string>
class Node
{ string val;
Node* next;
public:
Node(void){}
Node(string s)
{
val = s;
next = nullptr;
}
void addString(string aString){ val = aString;};
void setNext(Node* aNext){next = aNext;};
string Word(){return val;};
Node* Next(){return next;};
string sTemp;
};
#include <string>
#include <fstream>
#include "Node.h"
using namespace std;
class List{
Node* head;
public:
List()
{
head = NULL;
}
void print();
void add(string s);
void find(string key);
void read(ifstream& fin);
string sTemp;
}
这里的部分问题是在list.cpp
中包含了node.h
两次。
我很惊讶编译器没有警告你这一点。相反,它似乎选择了重新定义node
,因此最终得到两个不兼容的node
值。您需要在头文件中添加包含保护,以防止双重包含
清单H
#if !LIST_H
#define LIST_H
...
#endif
Node.H
#if !NODE_H
#define NODE_H
...
#endif
还要注意,一般来说,在头文件中使用语句被认为是不好的做法。相反,在标题中使用命名空间限定名,并将
using
语句放入。cpp文件中。
在想用 Serverless 可以做点什么简单的在线应用后,我想到了一个是在线短链生成服务。最后的结果见:http://x.pho.im/,一个非常简单的在线应用。 这里的代码基于:https://github.com/vannio/serverless-shrink。 因为上面的代码中,不能自动创建域名。然后,再针对数据库进行了一些优化。 代码逻辑 这里的代码逻辑比如简单: 创建短链时,使用生成
本文向大家介绍创建自己的jquery表格插件,包括了创建自己的jquery表格插件的使用技巧和注意事项,需要的朋友参考一下 在模仿easyui的dataGrid表格插件的同时,自己去封装了一个。实现了基本的json数据的动态加载,自动分页,全选全不选,鼠标悬浮变色,隔行变色等 由于涉及到ajax访问,所以必须部署到iis上才能看出效果,先给大家看一下效果图: css样式 JSON文件 jquery
如果你只需要掌控一个应用的全部的消息和触发的事件,那么使用默认的**/**命名空间即可。如果你想要利用第三方代码,或者分享你的代码给别人,http://socket.io提供了一种命名一个socket的途径。 使用多路由控制一条单一的连接是有好处的。比如下方的示例代码,客户端发起两个WebSocket连接,而服务器端使用多路由技术仅仅只需要建立一个连接。 服务器端(app.js) var io =
当我们使用术语"类库"时,我们一般指的是位于libraries 文件夹中的类,它们在wiki的"类库参考"这个板块被讨论.在当前这个话题中,我们将讨论如何在 application/libraries 文件夹中建立你自己的类库,并使它们与全框架的资源维持分离. 作为一个额外的功能,当你需要在原始类中简单地添加一些功能时,CodeIgniter能使你的类库extend 自原始类.你甚至可以通过在ap
如果您在开发共享库的公司工作,或者您在开源或商业库中工作,则可能需要开发自己的自动配置。 自动配置类可以捆绑在外部jar中,仍然可以通过Spring Boot获取。 自动配置可以与“启动器”相关联,该“启动器”提供自动配置代码以及您将使用它的典型库。 我们首先介绍了构建自己的自动配置需要了解的内容,然后我们将继续介绍创建自定义启动器所需的典型步骤。 可以使用演示项目来展示如何逐步创建启动器。 4.
我也用同样的结果尝试了这个视频中的建议。 最后一件事,我已经没有想法了:在Chrome开发者控制台,我看到创建失败,错误为400,这表明我需要更新白名单URL。我通过添加以下URL实现了这一点: 这个问题一直让我抓狂。我想我什么都试过了。让我想知道我是否需要在Firebase中重新创建我的应用程序。