0x0FA23729 (vcruntime140d.dll)处(位于 类和对象-封装.exe 中)引发的异常(已解决)

运行程序的时候第42行抛出异常,但是我将该cpp文件放到别的解决方案下就不会出异常

 

#include<iostream>
#include<string>
using namespace std;


class Person
{
public:
	//设置姓名
	void setName(string name)
	{
		m_Name = name;
	}
	//获取姓名
	string getName()
	{
		return  m_Name;
	}

	//获取年龄
	int getAge()
	{
		//m_Age = 0;	//初始化年龄为0岁
		return m_Age;
	}

	void setAge(int age)
	{
		if (age < 0 || age > 150)
		{
			m_Age = 0;//输出错误值,将年龄设置为0
			cout << "您输入的年龄有误!" << endl;
			return; //退出当前函数 setAge()
		}
		m_Age = age;
	}

	//设置情人
	void setLover(string lover)
	{
		m_Lover = lover;
	} //*****这里出现异常****** 

private:
	string m_Name;//姓名 可读可写
	int m_Age;	//年龄 可读可写
	string m_Lover; //情人 只写
};

int main(void)
{
	Person p;
	
	//设置情人
	p.setLover("大桥");
	//cout << "情人为:" << p.getLover() << endl; //错误,因为没有获取情人 的函数getLover()
	system("pause");
	return 0;
}

 

解决方案:将源文件下几个cpp文件设置为从生成中排除后,再次编译运行就不在抛出异常,也不知道是什么原因,可能随着学习的深入能够理解。

 

当我们在使用VS编译程序时,可能会遇到缺失msvcp140d.dllvcruntime140d.dll和ucrtbased.dll的情况。这些DLL文件是Microsoft Visual C++ Redistributable所需要的运行库文件,缺少它们会导致程序无法正常运行。 解决这个问题有以下几种方法: 1. 安装Microsoft Visual C++ Redistributable包:首先,我们可以尝试安装或重新安装最新版本的Microsoft Visual C++ Redistributable包。我们可以在Microsoft官方网站上下载适合我们操作系统的对应版本的运行库,然后进行安装。 2. 检查编译选项:另一种方法是检查我们的编译选项是否正确配置。在VS,我们可以通过以下步骤进行检查和更改:打开项目属性→配置属性→C/C++→代码生成→运行库,并选择合适的运行库选项(如使用动态(DLL)选项)。然后重新编译项目。 3. 复制DLL文件:如果上述方法无效,我们可以尝试手动复制缺失的DLL文件到系统。首先,我们需要从可运行的电脑或者其他程序所在的文件夹找到这些DLL文件。然后,将这些DLL文件复制到缺失的程序所在的文件夹,或者复制到Windows的System32文件夹。最后,重新运行程序。 总之,缺失msvcp140d.dllvcruntime140d.dll和ucrtbased.dll的情况是由于缺少Microsoft Visual C++ Redistributable的运行库文件所致。我们可以通过安装这个运行库包、检查编译选项或手动复制缺失的DLL文件等方法解决这个问题。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值