NetWas7s 2022-05-13 17:42 采纳率: 25%
浏览 16

VS c++ 函数重复定义问题

cryptography.h


#pragma once

void getVerCode();

cryptography.cpp


#include "cryptography.h"
#include<iostream>
#include<cstdlib>
#include<time.h> 
#include<math.h>

using namespace std;

void getVerCode()
{
    int _new;
    int N = 99;
    int _low = 0;
    int _flag = 0;
    int verCode[256]={}, _verCode[6]={};
    for (int i = 1; i <= N; i++)
    {
        int flag = (rand() % 2 == 0) ? 1 : 0;
        _low = _low ^ (flag << (i - 1));
    }
    for (int i = 1; i < 256; i++)
    {
        verCode[i] = (_low & 1);
        _new = _low & 1 ^ ((_low >> 4) & 1);
        _low = _low >> 1 ^ (_new << 4);
    }
    for (int i = 255; i > 0; i -= 5)
    {
        int x;
        x = verCode[i] + verCode[i - 1] * 2 + verCode[i - 2] * 4 + verCode[i - 3] * 8;
        if (x < 10)
        {
            _verCode[_flag] = x;
            _flag++;
        }
        if (_flag >= 5)
        {
            break;
        }
    }
    cout << "验证码为:";
    for (int i = 0; i < 6; i++)
    {
        cout << _verCode[i];
    }
}

main.cpp


#include"cryptography.cpp"
int main()
{
    srand((unsigned)time(NULL));
    int flag;
    for (int i = 0; i < 10; i++)
    {
        getVerCode();
        cout << endl;
    }
    cin >> flag;
    return 0;
}

调试显示:
1>main.obj : error LNK2005: "void __cdecl getVerCode(void)" (?getVerCode@@YAXXZ) 已经在 cryptography.obj 中定义
1>C:\Users\Administrator\source\repos\WorkPacketForC++Course\x64\Debug\WorkPacketForC++Course.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
1>已完成生成项目“WorkPacketForC++Course.vcxproj”的操作 - 失败。

请问如何解决?

  • 写回答

1条回答 默认 最新

  • 浪客 2022-05-13 23:49
    关注

    main.cpp 中#include "cryptography.h"

    评论

报告相同问题?

问题事件

  • 创建了问题 5月13日

悬赏问题

  • ¥15 速帮,学校需要在外上班没空
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题
  • ¥15 关于#.net#的问题:End Function
  • ¥15 无法import pycausal
  • ¥15 VS2022创建MVC framework提示:预安装的程序包具有对缺少的注册表值的引用
  • ¥15 weditor无法连接模拟器Local server not started, start with?
  • ¥20 6-3 String类定义