#include <iostream> #include <string> using namespace std; class Box { public:
Box(int h,int w,int l):height(h),width(w),length(l){} int volume( ){return
height*width*length;}; private: static int height; //静态的数据成员 int width; int
length; }; int main() { Box b(2,3,4); cout<<"volume is "<<b.volume()<<endl;
return 0; }

找出这个程序的错误?

错误 1 error C2438: “height”: 无法通过构造函数初始化静态类数据 

静态数据成员不能通过普通成员函数像普通数据成员那样赋值,需要通过类外单独赋值“int Box::height=2;”

#include <iostream> #include <string> using namespace std; class Box { public:
Box(int w,int l):width(w),length(l){} int volume( ){return
height*width*length;}; private: static int height; //静态的数据成员 int width; int
length; };int Box::height=2; int main() { Box b(3,4); cout<<"volume is
"<<b.volume()<<endl; return 0; }

技术
©2019-2020 Toolsou All rights reserved,
MySQL触发器【linux】shell:简单的shell脚本练习java连接数据库实现基本的增删改查Windows网络服务渗透测试实战-跨网段攻击JavaScript百炼成仙 1.15 天秀idea运行Mybatis项目出现的常见错误(编码错误等)Java实现自动猜数(猜数游戏进阶版)VHDL——4位移位寄存器【微信小程序学习】网易云音乐歌曲详情页代码实现一份笔记让你从 15K 涨薪并跳槽到32K+16