view公司代码发现的写法,编译应该是没问题的,我实测类似写法在vs2019报错!。
class Student_parent
{
public:
int aa;
private:
int nnum;
};
class Student:public Student_parent
{
public:
int a;
private:
int num;
};
struct data
{
int b;
};
class xiaoming
{
public:
Student<data> cccckkkk;
};
Student<data> cccckkkk;,Student是类,data是结构体,这种声明成员cccckkkk的方式到底啥意思?
在c里面,struct相当于是一种特殊的class类,如果你要使用Student<data> ,需要使用模板。(不知道为什么data小写会报错,改成大写就没问题)
struct Data
{
int b = 0;
};
class Student_parent
{
public:
int aa;
private:
int nnum;
};
class Student :public Student_parent
{
public:
int a;
private:
int num;
};
template <typename T1,typename T2>
class xiaoming
{
public:
T <T2> cccckkkk;
};
int main()
{
xiaoming<Student,Data> AA;
return 0;
}
<>这个一般是模板使用的,但是目前这个代码里面没有使用模板。
如有帮助,请采纳一下,谢谢。
如果就这么几行代码的话,编译应该是通不过的吧,没有看到模板类的定义啊