我正在尝试运行某种加密程序,但无法通过switch函数调用 void enc , 源代码:
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <algorithm>
#include <string>
using namespace std;
int x,y,z,a,b,c,n;
char tabs[26][26],temp[512];
string input,output,Key;
void open();
void tableau();
void inchar();
void enc();
void dec();
int main() {
open();
cout << "1.\tEncrypt \n2.\tDecrypt \nOption: "; cin >> a;
switch (a) {
case 1:
enc(); cout << a << "Debugger";
break;
case 2:
dec();
break;
}
return 0;
}
void enc(){
void open();
void inchar();
}
void dec(){
}
void inchar(){
cout << "input: "; cin >> input; z = input.size();
char dispos[input.size() + 1];
copy(input.begin(),input.end(),dispos); dispos[input.size()] = '\0';
for (int i = 0; i < z; i++) {
temp[i] = dispos [i];
}
}
void tableau() {
cout << "Initialize Table Construct!!" << endl;
for (int i = 0; i < 26; i++) {
for (int j = 0; j < 26; j++) {
x = (i + j) % 26; y = x + 65;
tabs[i][j] = y;
cout << tabs[i][j] << " ";
}
cout << endl;
}
}
void open() {
cout << "Well Hello There";
}
每次选择选项1时,调试器提示就会不断出现。如果清除调试器,则代码结束。
P.S:我已经完成了将函数调用移到切换之前的操作,但是仍然没有任何作用。 P.S.S:对不起,英语不好。
答案 0 :(得分:4)
问题是您的enc()
函数 被调用了,但是它什么也没做!语法错误:
void enc(){
void open(); // These lines DECLARE two NEW function ...
void inchar(); // ... without ever calling them!
}
要调用这两个函数,请使用以下命令:
void enc(void) {
open();
inchar();
}