首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

!mainCRTStartup()异常

2012-10-08 
!mainCRTStartup()错误[codeC/C++][/code]//望各位大牛耐心帮我看看那里出错了。。万分感谢#include iostr

!mainCRTStartup()错误
[code=C/C++][/code]
//望各位大牛耐心帮我看看那里出错了。。万分感谢
#include <iostream.h>
 #include <stdio.h>
 #include <stdlib.h>
 
 template<class T>
 class Node
 {
 private:
 T num;
 Node<T> *next;
 public:
 Node(){next=NULL;}
 Node(T m,Node<T> *p) 
 {
 num=m;
 next=p;
 }
 T getNum() {return num;}
 void setNum(T m) {num=m;}
 Node<T> * getNext() {return next;}
 void setNext(Node<T> *p) {next = p;}
 };
 
 template <class T>
 class NodeLink
 {
 public:
 NodeLink()
 {
 first=last=NULL;
 first->setNum(0);
 first->setNum(0);
 first->setNext(last);
 last->setNext(first);
 }
 int getLengh();
 Node<T> *getFirst(){return first;}
 Node<T> *locate(int m);
 void insert();
 void josephus(int n,int s,int m);
 private:
 Node<T> *first;
 Node<T> *last;
 };
 
 template<class T>
 void NodeLink<T>::josephus(int n,int s,int m)
 {
 Node<T> *current=new Node<T>;
 Node<T> *pre;
 current=locate(s);
 for (int i=0;i<n-1;i++)
 {
 for (int j=1; j<m; j++)
 {
 pre=current;
 current=current->getNext();
 }
 cout<<" 出列的人是:"<<current->getNum()<<endl;
 pre->setNext(current->getNext());
 delete current;
 current=pre->getNext();
 }
 }
 
 template<class T>
 int NodeLink<T>::getLengh()
 {
 int count=0;
 Node<T> *current=first->getNext();
 while (current!=first)
 {
 count++;
 current=current->getNext();
 }
 return count;
 }
 
 template<class T>
 Node<T> *NodeLink<T>::locate(int m)
 {
 if (m<=0 || m>getLengh())
 {
 cerr<<"定位失败";
 exit(1);
 }
 Node<T> *current;
 current=first->getNext();
 for (int i=1;i<=m;i++)
 current=current->getNext();
 return current;
 }
 
 template<class T>
 void NodeLink<T>::insert()
 {
 T m;
 Node<T> *newNode=new Node<T>;
 if(newNode==NULL)
 {
 cerr<<" 动态分配空间错误"<<endl;
 exit(1);
 }
 cin>>m;
 newNode->setNum(m);
 newNode->setNext(last->getNext());
 last->setNext(newNode);
 last=newNode;
 }
 
 void main()
 {
 int n;
 int s;
 int m;
 cout<<"请依次输入总人数,从第几个开始报数,报数间隔:";
 NodeLink<int> a;
 cin>>n;
 cin>>s;
 cin>>m;
 fflush(stdin);
 cout<<"请依次输入这"<<n<<"个人的信息: ";
 for (int i=0;i<n;i++)
 a.insert();
 a.josephus(n,s,m);
 return;
 }
 

[解决办法]
应该是项目设置问题,无关算法

把报错信息列详细一点


[解决办法]
http://blog.csdn.net/xhhjin/article/details/6658958
[解决办法]

探讨

引用:

应该是项目设置问题,无关算法

把报错信息列详细一点

0x77c715de 处有未经处理的异常: 0xC0000005: 写入位置 0x00000000 时发生访问冲突
其实用VC++6.0编译没有错,就是运行有问题,怎么办

热点排行