| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7031 人关注过本帖
标题:第一次用c++编译器出现奇怪的报错
取消只看楼主 加入收藏
刚学的小白
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
第一次用c++编译器出现奇怪的报错
1>e:\c++\vc\include\yvals.h(528) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\yvals.h(528) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\yvals.h(569) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\yvals.h(569) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\cstdio(38) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\cstdio(38) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\stdlib.h(35) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\stdlib.h(35) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\cstdlib(19) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\cstdlib(19) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\string.h(25) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\string.h(25) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\cstring(18) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\cstring(18) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\stddef.h(25) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\stddef.h(25) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\cstddef(17) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\cstddef(17) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\xstddef(17) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\xstddef(17) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\exception(23) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\exception(23) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\eh.h(66) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\eh.h(66) : error C2238: 意外的标记位于“;”之前
1>e:\c++\vc\include\eh.h(68) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\eh.h(68) : error C2238: 意外的标记位于“;”之前
1>e:\c++\vc\include\malloc.h(33) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\malloc.h(33) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\exception(83) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\exception(83) : error C2334: “:”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\exception(83) : error C2760: 语法错误 : 应输入“{”而不是“;”
1>e:\c++\vc\include\exception(85) : error C2144: 语法错误 : “int”的前面应有“}”
1>e:\c++\vc\include\exception(85) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\exception(85) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>e:\c++\vc\include\exception(85) : error C2238: 意外的标记位于“;”之前
1>e:\c++\vc\include\exception(92) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\exception(92) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\exception(333) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\exception(333) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\new(25) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\new(25) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\new(86) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\new(86) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\c++\vc\include\new(86) : error C2143: 语法错误 : 缺少“,”(在“&”的前面)
1>e:\c++\vc\include\new(89) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\new(89) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\c++\vc\include\new(89) : error C2143: 语法错误 : 缺少“,”(在“&”的前面)
1>e:\c++\vc\include\new(92) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\new(92) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\c++\vc\include\new(92) : error C2143: 语法错误 : 缺少“,”(在“&”的前面)
1>e:\c++\vc\include\new(95) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\new(95) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\c++\vc\include\new(95) : error C2143: 语法错误 : 缺少“,”(在“&”的前面)
1>e:\c++\vc\include\new(101) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\new(101) : error C2873: “new_handler”: 符号不能用在 using 声明中
1>e:\c++\vc\include\cwchar(24) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\cwchar(24) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\crtdbg.h(37) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\crtdbg.h(37) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\crtdbg.h(1109) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\crtdbg.h(1109) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\iosfwd(16) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\iosfwd(16) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\utility(13) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\utility(13) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\utility(167) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\utility(167) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\xutility(15) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\xutility(15) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\xutility(3412) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\xutility(3412) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\xutility(3970) : error C2059: 语法错误 : “字符串”
1>e:\c++\vc\include\xutility(3972) : error C2238: 意外的标记位于“;”之前
1>e:\c++\vc\include\xmemory(32) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\xmemory(32) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\xstring(17) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\xstring(17) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\stdexcept(13) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\stdexcept(13) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\typeinfo(41) : error C2071: “Queue::__type_info_root_node”: 非法的存储类
1>e:\c++\vc\include\typeinfo(62) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\typeinfo(62) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\typeinfo(72) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\typeinfo(72) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\xdebug(13) : error C2059: 语法错误 : “namespace”
1>e:\c++\vc\include\xdebug(13) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>e:\c++\vc\include\xdebug(33) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\xdebug(33) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\c++\vc\include\xdebug(33) : error C2143: 语法错误 : 缺少“,”(在“&”的前面)
1>e:\c++\vc\include\xdebug(33) : error C2059: 语法错误 : “)”
1>e:\c++\vc\include\xdebug(34) : error C2143: 语法错误 : 缺少“)”(在“throw”的前面)
1>e:\c++\vc\include\xdebug(34) : error C2375: “Queue::operator new”: 重定义;不同的链接
1>        e:\c++\vc\include\new(86) : 参见“Queue::operator new”的声明
1>e:\c++\vc\include\xdebug(37) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\xdebug(37) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\c++\vc\include\xdebug(37) : error C2143: 语法错误 : 缺少“,”(在“&”的前面)
1>e:\c++\vc\include\xdebug(37) : error C2059: 语法错误 : “)”
1>e:\c++\vc\include\xdebug(38) : error C2143: 语法错误 : 缺少“)”(在“throw”的前面)
1>e:\c++\vc\include\xdebug(38) : error C2375: “Queue::operator new[]”: 重定义;不同的链接
1>        e:\c++\vc\include\new(89) : 参见“Queue::operator new[]”的声明
1>e:\c++\vc\include\xdebug(41) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\xdebug(41) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\c++\vc\include\xdebug(41) : error C2143: 语法错误 : 缺少“,”(在“&”的前面)
1>e:\c++\vc\include\xdebug(41) : error C2059: 语法错误 : “)”
1>e:\c++\vc\include\xdebug(42) : error C2143: 语法错误 : 缺少“)”(在“throw”的前面)
1>e:\c++\vc\include\xdebug(42) : error C2375: “Queue::operator delete”: 重定义;不同的链接
1>        e:\c++\vc\include\new(92) : 参见“Queue::operator delete”的声明
1>e:\c++\vc\include\xdebug(45) : error C2653: “std”: 不是类或命名空间名称
1>e:\c++\vc\include\xdebug(45) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int





下面贴下程序

#include "stdafx.h"
#include"tools.h"
#include<iostream>
#include<fstream>
using namespace std;
void main( )
{
    Gate *arr[100];
    int num;
    num= Init( *arr[100]);
    Queue queue(num);
    SetPnext(*a[100],num);
    InitQueue(*arr[100],queue,num);
    int k=0;
    while(queue.rear!=queue.front)
    {
        for(int n=0;n<num;n++)
        {
            if(queue.q[k]==arr[n]->OutNo)
                break;
        }
        if(arr[n]->InStr3_No==0)
            arr[n]->CcCal2();
        else
            arr[n]->CcCal3();
        arr[n]->ChangeNextIn( );
        arr[n]->Push(Queue &qu);
        queue.Delete;
        k++;
        if(k==num)
            k==0;
    }
    for(m==0;m<num;m++)
    {
        cout<<"标号为"<<arr[m]->OutNo<<"的引线的0可控制性和1可控制性分别为:"<<arr[m]->OutNewCCO<<"\t"<<arr[m]->OutNewCC1<<endl;
    }
}
搜索更多相关主题的帖子: include 编译器 
2015-05-28 14:50
刚学的小白
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-28
收藏
得分:0 
回复 2楼 rjsp
扩展名就是.cpp,请问有没有可能是其他问题
2015-05-29 10:51
刚学的小白
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-28
收藏
得分:0 
回复 5楼 纳兰伽香
您好,我是初学所以能不能说详细些
2015-05-29 13:55
刚学的小白
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-28
收藏
得分:0 
回复 4楼 TonyDeng
您好,因为我是初学,不是很明白具体出错在哪,能不能请您说详细些,谢谢了
2015-05-29 13:59
刚学的小白
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-28
收藏
得分:0 
回复 8楼 TonyDeng
您好,这个头文件是我自己写的,就是用来定义两个类,下面我贴出这个头文件,能不能麻烦您帮忙看看
class Queue
{
public:
    Queue(int);
    void Add(int & x);
    void Delete();
    bool Search(int & x);
    ~Queue();
    bool Empty()
    {
    return front!=rear;
    int *q;
private:
    int front,rear,maxsize;
    int i;
    int n;
};



class Gate{
public:
    Gate(int,int);
    Gate(int,int,int);
    Gate(int,int,int,int);
    virtual void CcCal2()
    { }
    virtual void CcCal3()
        { }
    void ChangeNextIn( );
    void Push(Queue &qu);
    void min2(int &y,int x1,int x2);
    void min3(int &y,int &x1,int &x2,int &x3);
    void add2(int &y,int &x1,int &x2);
    void add3(int &y,int &x1,int &x2,int &x3);
    Gate *Pnext1,*Pnext2,*Pnext3;
    int InStr1_No,InStr1_CC0,InStr1_CC1;
    int InStr2_No,InStr2_CC0,InStr2_CC1;
    int InStr3_No,InStr3_CC0,InStr3_CC1;
    int OutNo,OutNewCCO,OutNewCC1,OutOldCCO,OutOldCC1;
};


class NotGate:public Gate
{
public:
    virtual void CcCal2();
};


class OrGate:public Gate
{
    public:
    virtual void CcCal2();
    virtual void CcCal3();
};





class AndGate:public Gate
{
    public:
    virtual void CcCal2();
    virtual void CcCal3();
};


class OrNotGate:public Gate
{
    public:
    virtual void CcCal2();
    virtual void CcCal3();
};


class XorGate:public Gate
{
    public:
    virtual void CcCal2();
};



class Dtri:public Gate
{
    public:
    virtual void CcCal2();
};
2015-05-29 14:08
刚学的小白
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-28
收藏
得分:0 
回复 10楼 TonyDeng
按照您说的方式报错确实减少了很多,但是出现了这样的报错,真的觉得很抱歉,但是不得不再打扰您
 error C2059: 语法错误 : “namespace”
1>d:\我的文档\visual studio 2008\projects\bishe\bishe\init.cpp(5) : error C2238: 意外的标记位于“;”之前
1>d:\我的文档\visual studio 2008\projects\bishe\bishe\init.cpp(70) : fatal error C1075: 与左侧的 大括号“{”(位于“d:\我的文档\visual studio 2008\projects\bishe\bishe\tools.h(2)”)匹配之前遇到文件结束

这个是Queue类的源文件
#include"stdafx.h"
#include"tools.h"
using namespace std;
Queue::Queue(int size)
{
    maxsize=size;
    q=new int[maxsize];
    front=0;
    rear=0;
    i=0;
    n=0;
}

void Queue::Add(int &x)
{
    q[i]=x;
    rear=rear+1;
    if(i<(maxsize-1))
        i++;
    else
        i=0;
 }

void Queue::Delete()
{
    front=front+1;
    q[n]=0;
    if(n<(maxsize-1))
        n++;
    else
        n=0;
}


bool Queue::Search(int &x)
{
    int k;
    for(k=0;k<maxsize;k++)
    {
        if(q[k]==x)
        {
            return 1;
            break;
        }
        else
            return 0;
    }
}

Queue::~Queue()
{
    delete q;
}


这个是Gate类的源文件
#include"stdafx.h"
#include"tools.h"
using namespace std;
Gate::Gate(int inNo1, int ioutNo){
    InStr1_No=inNo1;
    OutNo=ioutNo;
    InStr1_CC0=InStr1_CC1=(InStr1_No<0)?1:1*10^7;
    OutNo=OutNewCCO=OutNewCC1=OutOldCCO=OutOldCC1=1*10^7;
    Pnext1=Pnext2=Pnext3=NULL;
    InStr2_No=InStr3_No=-1*10^7;
}

Gate::Gate(int inNo1, int inNo2, int ioutNo){
    InStr1_No=inNo1;
    InStr2_No=inNo2;
    OutNo=ioutNo;
    InStr1_CC0=InStr1_CC1=(InStr1_No<0)?1:1*10^7;
    InStr2_CC0=InStr2_CC1=(InStr2_No<0)?1:1*10^7;
    OutNo=OutNewCCO=OutNewCC1=OutOldCCO=OutOldCC1=1*10^7;
    Pnext1=Pnext2=Pnext3=NULL;
    InStr3_No=-1*10^7;
}

Gate::Gate(int inNo1, int inNo2,int inNo3, int ioutNo){
    InStr1_No=inNo1;
    InStr2_No=inNo2;
    InStr3_No=inNo3;
    OutNo=ioutNo;
    InStr1_CC0=InStr1_CC1=(InStr1_No<0)?1:1*10^7;
    InStr2_CC0=InStr2_CC1=(InStr2_No<0)?1:1*10^7;
    InStr3_CC0=InStr3_CC1=(InStr3_No<0)?1:1*10^7;
    OutNo=OutNewCCO=OutNewCC1=OutOldCCO=OutOldCC1=1*10^7;
    Pnext1=Pnext2=Pnext3=NULL;
}


void Gate::ChangeNextIn()
{
    if(Pnext1!=NULL)
    {
        if(OutNo=Pnext1->InStr1_No){
        Pnext1->InStr1_CC0=OutNewCCO;
        Pnext1->InStr1_CC1=OutNewCC1;
        }
        else if(OutNo=Pnext1->InStr2_No){
        Pnext1->InStr2_CC0=OutNewCCO;
        Pnext1->InStr2_CC1=OutNewCC1;
        }
        else
            {
        Pnext1->InStr3_CC0=OutNewCCO;
        Pnext1->InStr3_CC1=OutNewCC1;
        }
    }
    if(Pnext2!=NULL)
    {
        if(OutNo=Pnext2->InStr1_No){
        Pnext2->InStr1_CC0=OutNewCCO;
        Pnext2->InStr1_CC1=OutNewCC1;
        }
        else if(OutNo=Pnext2->InStr2_No){
        Pnext2->InStr2_CC0=OutNewCCO;
        Pnext2->InStr2_CC1=OutNewCC1;
        }
        else
            {
        Pnext2->InStr3_CC0=OutNewCCO;
        Pnext2->InStr3_CC1=OutNewCC1;
        }
    }
    if(Pnext3!=NULL)
    {
        if(OutNo=Pnext3->InStr1_No){
        Pnext3->InStr1_CC0=OutNewCCO;
        Pnext3->InStr1_CC1=OutNewCC1;
        }
        else if(OutNo=Pnext3->InStr2_No){
        Pnext3->InStr2_CC0=OutNewCCO;
        Pnext3->InStr2_CC1=OutNewCC1;
        }
        else
            {
        Pnext3->InStr3_CC0=OutNewCCO;
        Pnext3->InStr3_CC1=OutNewCC1;
        }
    }
}


void Gate::Push(Queue &qu)
{
    if((OutOldCCO!=OutNewCCO)||(OutOldCC1!=OutNewCC1))
    {
        OutOldCCO=OutNewCCO;
        OutOldCC1=OutNewCC1;
        if(Pnext1!=NULL)
        {
            if(~qu.Search(Pnext1->OutNo))
                qu.Add(Pnext1->OutNo);
        }
        if(Pnext2!=NULL)
        {
            if(~qu.Search(Pnext2->OutNo))
                qu.Add(Pnext2->OutNo);
        }
        if(Pnext3!=NULL)
        {
            if(~qu.Search(Pnext3->OutNo))
                qu.Add(Pnext3->OutNo);
        }
    }
}


void Gate::add2(int &y, int &x1, int &x2)
{
    if((x1<1*10^7)&&(x2<1*10^7))
        y=x1+x2+1;
    else
        y=1*10^7;
}


void Gate::add3(int &y, int &x1, int &x2,int &x3)
{
    if((x1<1*10^7)&&(x2<1*10^7)&&(x3<1*10^7))
        y=x1+x2+x3+1;
    else
        y=1*10^7;
}


void Gate::min2(int &y, int x1, int x2)
{
    if(x1<x2)
        y=x1;
    else
        y=x2;
    if(y<1*10^7)
        y=y+1;
}



void Gate::min3(int &y, int &x1, int &x2, int &x3)
{
    if((x1<x2)&&(x1<x3))
        y=x1;
    else
        if((x2<x3)&&(x2<x1))
           y=x2;
        else
            y=x3;
    if(y<1*10^7)
        y=y+1;
}
2015-05-29 14:28
刚学的小白
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-28
收藏
得分:0 
回复 10楼 TonyDeng
按照您说的改了之后报错确实少了很多,但是出现了下面的报错,我把源程序贴出来,虽然觉得很抱歉,但是还是请您在帮忙看下
:\我的文档\visual studio 2008\projects\bishe\bishe\bishe.cpp(6) : error C2059: 语法错误 : “namespace”
1>d:\我的文档\visual studio 2008\projects\bishe\bishe\bishe.cpp(6) : error C2238: 意外的标记位于“;”之前
1>d:\我的文档\visual studio 2008\projects\bishe\bishe\bishe.cpp(36) : fatal error C1075: 与左侧的 大括号“{”(位于“d:\我的文档\visual studio 2008\projects\bishe\bishe\tools.h(2)”)匹配之前遇到文件结束



#include"stdafx.h"
#include"tools.h"
using namespace std;
Gate::Gate(int inNo1, int ioutNo){
    InStr1_No=inNo1;
    OutNo=ioutNo;
    InStr1_CC0=InStr1_CC1=(InStr1_No<0)?1:1*10^7;
    OutNo=OutNewCCO=OutNewCC1=OutOldCCO=OutOldCC1=1*10^7;
    Pnext1=Pnext2=Pnext3=NULL;
    InStr2_No=InStr3_No=-1*10^7;
}

Gate::Gate(int inNo1, int inNo2, int ioutNo){
    InStr1_No=inNo1;
    InStr2_No=inNo2;
    OutNo=ioutNo;
    InStr1_CC0=InStr1_CC1=(InStr1_No<0)?1:1*10^7;
    InStr2_CC0=InStr2_CC1=(InStr2_No<0)?1:1*10^7;
    OutNo=OutNewCCO=OutNewCC1=OutOldCCO=OutOldCC1=1*10^7;
    Pnext1=Pnext2=Pnext3=NULL;
    InStr3_No=-1*10^7;
}

Gate::Gate(int inNo1, int inNo2,int inNo3, int ioutNo){
    InStr1_No=inNo1;
    InStr2_No=inNo2;
    InStr3_No=inNo3;
    OutNo=ioutNo;
    InStr1_CC0=InStr1_CC1=(InStr1_No<0)?1:1*10^7;
    InStr2_CC0=InStr2_CC1=(InStr2_No<0)?1:1*10^7;
    InStr3_CC0=InStr3_CC1=(InStr3_No<0)?1:1*10^7;
    OutNo=OutNewCCO=OutNewCC1=OutOldCCO=OutOldCC1=1*10^7;
    Pnext1=Pnext2=Pnext3=NULL;
}


void Gate::ChangeNextIn()
{
    if(Pnext1!=NULL)
    {
        if(OutNo=Pnext1->InStr1_No){
        Pnext1->InStr1_CC0=OutNewCCO;
        Pnext1->InStr1_CC1=OutNewCC1;
        }
        else if(OutNo=Pnext1->InStr2_No){
        Pnext1->InStr2_CC0=OutNewCCO;
        Pnext1->InStr2_CC1=OutNewCC1;
        }
        else
            {
        Pnext1->InStr3_CC0=OutNewCCO;
        Pnext1->InStr3_CC1=OutNewCC1;
        }
    }
    if(Pnext2!=NULL)
    {
        if(OutNo=Pnext2->InStr1_No){
        Pnext2->InStr1_CC0=OutNewCCO;
        Pnext2->InStr1_CC1=OutNewCC1;
        }
        else if(OutNo=Pnext2->InStr2_No){
        Pnext2->InStr2_CC0=OutNewCCO;
        Pnext2->InStr2_CC1=OutNewCC1;
        }
        else
            {
        Pnext2->InStr3_CC0=OutNewCCO;
        Pnext2->InStr3_CC1=OutNewCC1;
        }
    }
    if(Pnext3!=NULL)
    {
        if(OutNo=Pnext3->InStr1_No){
        Pnext3->InStr1_CC0=OutNewCCO;
        Pnext3->InStr1_CC1=OutNewCC1;
        }
        else if(OutNo=Pnext3->InStr2_No){
        Pnext3->InStr2_CC0=OutNewCCO;
        Pnext3->InStr2_CC1=OutNewCC1;
        }
        else
            {
        Pnext3->InStr3_CC0=OutNewCCO;
        Pnext3->InStr3_CC1=OutNewCC1;
        }
    }
}


void Gate::Push(Queue &qu)
{
    if((OutOldCCO!=OutNewCCO)||(OutOldCC1!=OutNewCC1))
    {
        OutOldCCO=OutNewCCO;
        OutOldCC1=OutNewCC1;
        if(Pnext1!=NULL)
        {
            if(~qu.Search(Pnext1->OutNo))
                qu.Add(Pnext1->OutNo);
        }
        if(Pnext2!=NULL)
        {
            if(~qu.Search(Pnext2->OutNo))
                qu.Add(Pnext2->OutNo);
        }
        if(Pnext3!=NULL)
        {
            if(~qu.Search(Pnext3->OutNo))
                qu.Add(Pnext3->OutNo);
        }
    }
}


void Gate::add2(int &y, int &x1, int &x2)
{
    if((x1<1*10^7)&&(x2<1*10^7))
        y=x1+x2+1;
    else
        y=1*10^7;
}


void Gate::add3(int &y, int &x1, int &x2,int &x3)
{
    if((x1<1*10^7)&&(x2<1*10^7)&&(x3<1*10^7))
        y=x1+x2+x3+1;
    else
        y=1*10^7;
}


void Gate::min2(int &y, int x1, int x2)
{
    if(x1<x2)
        y=x1;
    else
        y=x2;
    if(y<1*10^7)
        y=y+1;
}



void Gate::min3(int &y, int &x1, int &x2, int &x3)
{
    if((x1<x2)&&(x1<x3))
        y=x1;
    else
        if((x2<x3)&&(x2<x1))
           y=x2;
        else
            y=x3;
    if(y<1*10^7)
        y=y+1;
}







#include"stdafx.h"
#include"tools.h"
using namespace std;
Queue::Queue(int size)
{
    maxsize=size;
    q=new int[maxsize];
    front=0;
    rear=0;
    i=0;
    n=0;
}

void Queue::Add(int &x)
{
    q[i]=x;
    rear=rear+1;
    if(i<(maxsize-1))
        i++;
    else
        i=0;
 }

void Queue::Delete()
{
    front=front+1;
    q[n]=0;
    if(n<(maxsize-1))
        n++;
    else
        n=0;
}


bool Queue::Search(int &x)
{
    int k;
    for(k=0;k<maxsize;k++)
    {
        if(q[k]==x)
        {
            return 1;
            break;
        }
        else
            return 0;
    }
}

Queue::~Queue()
{
    delete q;
}
2015-05-29 14:37
刚学的小白
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-28
收藏
得分:0 
回复 13楼 TonyDeng
好的,非常感谢您
2015-05-29 14:38
快速回复:第一次用c++编译器出现奇怪的报错
数据加载中...
 
   



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

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