gpt4 book ai didi

c++ - 调试后项目加载错误

转载 作者:行者123 更新时间:2023-11-28 07:30:34 26 4
gpt4 key购买 nike

编辑:所以采纳了你们的建议,现在我的程序可以编译了。但是现在我无法运行它,因为我遇到了这些错误。

'baseconverter.exe': Loaded 'C:\Users\OwnerT\Documents\Visual Studio 2010
\Projects\baseconverter\Debug\baseconverter.exe', Symbols loaded.
'baseconverter.exe': Loaded 'C:\Windows\System32\ntdll.dll', Cannot find or open the PDB file
'baseconverter.exe': Loaded 'C:\Windows\System32\kernel32.dll', Cannot find or open the PDB file
'baseconverter.exe': Loaded 'C:\Windows\System32\KernelBase.dll', Cannot find or open the PDB file
'baseconverter.exe': Loaded 'C:\Windows\System32\msvcp100d.dll', Symbols loaded.
'baseconverter.exe': Loaded 'C:\Windows\System32\msvcr100d.dll', Symbols loaded.
The program '[5320] baseconverter.exe: Native' has exited with code 0 (0x0).

这是新的更新代码。我修复了 std::cout 并消除了命名空间,但我认为这会使编码过载。

converter.h

#ifndef CONVERTER_H
#define CONVERTER_H
using std::cout;
using std::cin;
using std::endl;
//This contains the function types needed for
//reading an input
//converting from any base to base10
//convert from base10 to any base
extern int non10num;
extern int bIn;
extern int bOut;
extern int b10num;
extern int Conv;
extern int option;
extern int sum;
extern int num;

#endif

转换.cpp

#include <iostream>
#include <cmath>
#include <string>
#include <cctype>
#include "converter.h"

using std::cout;
using std::cin;
using std::endl;

int non10num = 0;
int bIn = 0;
int bOut = 0;
int b10num = 0;
int Conv = 0;
int option = 0;
int sum = 0;
int num = 0;
int main ()
{

//Reinstates the int variables

int pow = 1;
while (option)
{
sum += b10num * pow;
num /= 10;
pow *= non10num;
}
}

转换器.cpp

#include <iostream>
#include <cmath>
#include <string>
#include <cctype>
#include "converter.h"

using std::cout;
using std::cin;
using std::endl;

extern int non10num;
extern int bIn;
extern int bOut;
extern int b10num;
extern int Conv;
extern int option;
extern int sum;
extern int num;


//This brings us to the menu
void menu()
{
cout << "1. Base to Base" << endl;
cout << "2. Base to Base-10" << endl;
cout << "3. Base-10 to Base" << endl;
cout << "4. Exit" << endl;
cout << "" << endl;
cout << "Choose your option: ";
cin >> option;
switch (option)
{
case 1: cout << "Enter your integer: "; //Asks for user input
cin >> non10num;
cout << "Enter which base it belongs to: ";
cin >> bIn;
cout << "Enter the base it should be converter: ";
cin >> bOut;

cout << non10num << " in base " << bIn << " is " << non10num%bIn << " in base " << bOut<< endl; //Converts the data
break;

case 2: cout << "Enter your integer: ";
cin >> non10num;
cout << "Enter which base it belongs to: ";
cin >> bIn;
cout << non10num << " in base " << bIn << " is " << non10num%10 << " in " << b10num;
break;

case 3: cout << "Enter your integer: ";
cin >> b10num;
cout << "Enter which base the integer will be converted: "; cin >> Conv;

cout << b10num << " in base 10 is " << b10num%10 << " in "<< Conv;
break;

case 4: //Exits the menu
return ;
break;
default:
cout << "You have entered an invalid option!" << endl;
}

while (option!=0);
return ;
}

最佳答案

定义在你的一个你的cpp文件中这样定义每一个:

int bIn = 0;

然后声明在你所有的其他人中这样:

extern int bIn;

就目前而言,您违反了单一定义规则。

此外,现在,您正在 main() 中声明同名变量,这将隐藏该函数中的所有全局变量,这可能不是您想要的。

关于c++ - 调试后项目加载错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17824683/

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