| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 763 人关注过本帖
标题:[求助]摸板类出问题了。。。。。。。
取消只看楼主 加入收藏
ming206
Rank: 2
来 自:重庆
等 级:等待验证会员
威 望:3
帖 子:545
专家分:7
注 册:2005-8-2
结帖率:100%
收藏
 问题点数:0 回复次数:1 
[求助]摸板类出问题了。。。。。。。

一个单独的List.h头文件:
namespace MobelList{
//
#if !defined(AFX_LIST_H__A00FBDB1_BAC0_476C_83DE_12D836FB14BD__INCLUDED_)
#define AFX_LIST_H__A00FBDB1_BAC0_476C_83DE_12D836FB14BD__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//定义结构
template <typename T>
struct Node
{
Node(T& d):c(d),next(0),pref(0){}
T c;
Node *next,*pref;
};//------------------------------------
//类摸板定义
template <typename T>
class List
{
Node<T> *first,*last;
public:
List(); //构造
void add(T& c); //
void remove(T& c); //
Node<T>* find(T& c); //
void print(); //
~List(); //析构

};//-------------------------------------
#endif // !defined(AFX_LIST_H__A00FBDB1_BAC0_476C_83DE_12D836FB14BD__INCLUDED_)
//
template <typename T>
List<T>::List():first(0),last(0){}
//---------------------------------------
/**
*方法名:add
*功 能:添加
*/
template <typename T>
void List<T>::add(T& n)
{
Node<T>* p=new Node<T> (n);
p->next=first;
first=p;
(last ? p->next->pref:last)=p;
}//--------------------------------------
/**
*方法名:find
*功 能:查找
*/
template <typename T>
Node<T>* List<T>::find(T& n)
{
for(Node<T>* p=first;p;p=p->next)
if(p->c==n) return p;
return 0;
}//-------------------------------------
/**
*方法名:remove
*功 能:移除
*/
template <typename T>
void List<T>::remove(T& n)
{
if(!(Node<T>* p=find(n))) return;
(p->next ? p->next->pref:last) = p->pref;
(p->pref ? p->pref->next:first) = p->next;
delete p;
}//------------------------------------
/**
*方法名:print
*功 能:打印
*/
template <typename T>
void List<T>::print()
{
for(Node<T>* p=first;p;p=p->next)
cout<<p->c<<" ";
cout<<endl;
}
/**
*方法名:~List
*功 能:销毁
*/
template <typename T>
List<T>::~List()
{
for(Node<T>* p;p=first;delete p)
first=first->next;
}
}//end MobelList

//**************************************************************
//main引用:

#include <iostream>
#include <string>
#include "List.h"
using namespace std;
using namespace MobelList;
int main(int argv,char** argc)
{
List<char> *StrList=new List<char>();
StrList->add("mo");
StrList->add("xiaoming");
StrList->print();
delete StrList;
return 0;
}

//**********************************************************
错误提示:
--------------------Configuration: main - Win32 Debug--------------------
Compiling...
main.cpp
D:\vc++\NodeList\main.cpp(9) : error C2664: 'add' : cannot convert parameter 1 from 'char [3]' to 'char &'
A reference that is not to 'const' cannot be bound to a non-lvalue
D:\vc++\NodeList\main.cpp(10) : error C2664: 'add' : cannot convert parameter 1 from 'char [9]' to 'char &'
A reference that is not to 'const' cannot be bound to a non-lvalue
Error executing cl.exe.

main.exe - 2 error(s), 0 warning(s)


即使我用int类型来调摸板也是出错,。不知道为什么,小弟刚接触C++,兄弟们帮看哈。

搜索更多相关主题的帖子: Node MSC INCLUDED VER next 
2006-10-10 13:23
ming206
Rank: 2
来 自:重庆
等 级:等待验证会员
威 望:3
帖 子:545
专家分:7
注 册:2005-8-2
收藏
得分:0 
还是出问题,我知道了,我改去掉引用T&amp;的&amp;就可以了,请问有什么分别?

外贸综合平台:E贸通
2006-10-11 12:21
快速回复:[求助]摸板类出问题了。。。。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012137 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved