gpt4 book ai didi

c++ - 从 main 调用函数时出错

转载 作者:行者123 更新时间:2023-11-28 02:52:45 26 4
gpt4 key购买 nike

我试图从一个主函数调用两个函数,我的主函数的代码如下:

#include <watchdoggen.h>
#include <concat.h>
using namespace std;


int main () {
string plain;
char key1[16];
char si[10];
char w[10];
char fid[20];

cout << "Enter the number of splits: ";
cin >> si;
cout << "Enter the number of watchdogs: ";
cin >> w;
cout << "Enter the Fid: ";
cin >> fid;
concat(si, w, fid);
//cout<<"\nThe plain txt is: "<< si <<endl;
plain = si;
cout << "the plaintext is: ";
cin.ignore();
getline(cin, plain);
cout << "Enter the Master Key: ";
cin>>key1;
byte* key_s = (byte*)key1;
cout << "key: " << plain << endl;
watchdoggen(plain,key_s);
}

在这里,我试图基本上将一个函数的输出作为另一个函数的输入。当我编译代码时,出现以下错误:

test4watchdoggen.cpp: In function ‘int main()’:
test4watchdoggen.cpp:67:19: error: ‘concat’ was not declared in this scope

我正在使用以下命令进行编译:

g++ -g3 -ggdb -O0 -DDEBUG -I/usr/include/cryptopp test4watchdoggen.cpp \
watchdoggen.cpp concat.cpp -o test4watchdog -lcryptopp -lpthread

需要一些帮助。

连接.h

#ifndef TRY_H_INCLUDED
#define TRY_H_INCLUDED

char concat(char si[],char w[],char fid[]);

#endif

最佳答案

include guard用于防止两次包含相同的 header :

#ifndef MY_GUARD
#define MY_GUARD
// code ...
#endif

但这只有在每个 header 都有一个唯一的守卫名称时才能正常工作。在您的情况下,两个 header 中的守卫具有相同的名称 TRY_H_INCLUDED,因此包含一个会自动防止包含另一个。

修复方法是按照 Hari Mahadevan 的建议,简单地为每个头文件指定一个包含保护的唯一名称。

关于c++ - 从 main 调用函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22677318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com