2301_79301599 2023-10-22 14:55 采纳率: 50%
浏览 2
已结题

1>E:\tempC++\test5\Debug\test5.exe : fatal error LNK1120: 1 个无法解析的外部命令

不知道哪里错了,总是生成不出来,把创建pai_wash那一行注释掉就生成出来了。
main

#include<iostream>
using namespace std;
#include <string>
#include<ctime>
#include"1.h"
#include"List.h"
//判断随机数不重复
int numGen[54];
bool isGenerated(int newNum)
{
    for(int i=0;i<54;i++)
    {
        if(numGen[i]==newNum)
            return true;
    }
    return false;
}

int main()
{
    List<string> pai_wash;
    string pai[54];
    string num[13]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
    string type[4]={"红桃","梅花","方片","黑桃"};
    int k=0;

    for(int i=0;i<13;i++)
        for(int j=0;j<4;j++)
            pai[k++]=type[j]+num[i];
    pai[52]="大王";
    pai[53]="小王";
    srand(time(NULL));
    int newNum=rand()%54;
    for(int i=0;i<54;i++)
    {
        if(!isGenerated(newNum))
        {
            pai_wash.insertAsFist(pai[newNum]);
            numGen[i]=newNum;
            newNum=rand()%54;
        }
        else
        {    
            i--;
            newNum=rand()%54;
        }
    }
    
    return 0;
}

ListNode.h

#ifndef  __ListNode_H__
#define __ListNode_H__
#include <iostream>
using namespace std;
#define Posi(T) ListNode<T>*
typedef int Rank;

//结点
template <typename T>
struct ListNode{
    T data;
    Posi(T) pred;
    Posi(T) succ;
    ListNode() {};
    ListNode (T e,Posi(T) p=NULL,Posi(T) s=NULL)
    {
        data=e;pred=p;succ=s;
    }
    Posi(T) insertAsSucc(T const &e);
    Posi(T) insertAsPred(T const &e);
    
};

//后插入
template <typename T>
Posi(T) ListNode<T>::insertAsSucc(T const &e)
{
    Posi(T) x=new ListNode(e,this,succ);
    succ->pred=x;succ=x;
    return x;
}

//前插入
template <typename T>
Posi(T) ListNode<T>::insertAsPred(T const &e)
{
    Posi(T) x=new ListNode(e,pred,this);
    pred->succ=x;pred=x;
    return x;
}
#endif


List.h

#ifndef __List_H__
#define __List_H__
#include"ListNode.h"

//列表,玩家
template<typename T>
class List{
private:
    int _size;
    Posi(T) header;
    Posi(T) trailer;

public:
    List(){Init();}
    ~List();
    void Init();
    Posi(T) insertA(Posi(T) p,T const &e);
    Posi(T) insertB(Posi(T) p,T const &e);
    Posi(T) insertAsFist(T const &e);
    void show();
};
//初始化
template<typename T>
void List<T>::Init()
{
    header=new ListNode<T>;
    trailer=new ListNode<T>;
    header->succ=trailer;header->pred=NULL;
    trailer->pred=header;trailer->succ=NULL;
    _size=0;
}

//首节点插入
template<typename T>
Posi(T) List<T>::insertAsFist(T const &e)
{
    _size++;
    return header->insertAsSucc(e);
}

//后插入
template<typename T>
Posi(T) List<T>::insertA(Posi(T) p,T const &e)
{
    _size++;
    return p->insertAsSuccc(e);
}

//前插入
template<typename T>
Posi(T) List<T>::insertB(Posi(T) p,T const &e)
{
    _size++;
    return p->insertAsPred(e);
}
//展示
template<typename T>
void List<T>::show()
{
    Posi p=header;;
    while(p)
    {
        cout<<p->data<<" ";
        p->succ;
    }
}
#endif

  • 写回答

2条回答 默认 最新

  • 2301_79301599 2023-10-22 15:06
    关注

    不用头文件,全部写在C++文件里也不行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月22日

悬赏问题

  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术