Vs报错:不存在用户定义的从 “std::vector<Person, std::allocator<Person>>“ 到 “std以及C++中的默认命名空间

在C++编程中遇到VS报错,指出不存在用户定义的从 ""std::vector<Person, std::allocator<Person>>"" 到 ""std"" 的转换。错误源于命名空间的理解和使用。C++的默认命名空间是全局命名空间,类似C语言的编程环境。当在命名空间内访问全局命名空间的元素时,可通过双冒号操作符避免歧义。" 111709182,10502484,使用MVC框架构建超市管理系统——JSP+SQL实践(上),"['jsp', 'sql', 'mysql', 'MVC框架', '超市管理系统']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Vs报错:不存在用户定义的从 "std::vector>" 到 "std,>

 C++中默认的命名空间:

C++中默认空间的引用:


Vs报错:不存在用户定义的从 "std::vector<Person, std::allocator<Person>>" 到 "std

迷迷糊糊的写代码的时候,本打算写容器vector存放自定义类型的时候,发现的错误,之前初学类的时候也会出现这个问题,就是把类的声明和定义都放在函数体内。查了资料知道了原因,类是大于函数的:命名空间>类>函数(包括类成员函数和静态函数);具体地说就是cout全名是std::cout(),std就是命名空间,cout是std的函数,using namespace std以后可以直接使用
main是个全局函数,他的命名空间其实是整个程序,student是类,student.show就是类成员函数;

void text01()
{
	class Person {
	private:
		int num;
		string name;
	public:
		Person() {};
		Person(int num, string str)
		{
			this->num = num;
			this->name = name;
		}
	};
	vector<Person> person;
	person.push_back(Person(1,"li"));
	person.p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值