VS2022 C++语言“符合模式“问题

打开一个在VS2015中从vector继承新建一个类,编译时出现很多未定义错误。

琢磨了很久发现是VS2022中的c++编译要求更严格了,是因为默认的“符合模式”值“是(/permissive-)造成的。

新建的工程应该按照新的语言要求去做。对于老的代码,把符合模式的值改为”默认“即可编译通过。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 C++ 语言编程代码,用于绘制动态圣诞树: ```c++ #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand(time(NULL)); // 初始化随机数种子 int height = rand() % 10 + 1; // 随机生成树的高度 int stars = height / 3; // 随机生成星的数量 int stars2 = height - stars - 2; // 树上的小星星的数量 int x = 10; // 起始点 int y = height / 2; // 起始点的高度 // 输出动态圣诞树 for (int i = 0; i < height; i++) { // 输出树干 for (int j = x; j < x + 5 * i; j++) { cout << " "; } cout << endl; x += 5; // 移动到下一行 // 输出小星星和树上的星 for (int j = y - stars2; j <= y + stars + stars2; j++) { if (j < y || j > y + height) { // 星星应该在树的下方 continue; } if (i == height - 1) { // 在最后一行上显示两个小星星和三个星星之间的间隙 for (int k = x + i - height / 2; k <= x + i + height / 2; k++) { if (k % stars == 0 || k % stars == i) { // 小星星之间的间隔小于其他星之间的间隔,将间隔更改为空格并打印空格直到与星星匹配为止 for (int l = k - stars; l < k + stars; l++) { cout << " "; } } else { cout << "*"; // 其他星之间的间隔打印星号并增加空格直到与小星星匹配为止 } } } else { // 其他行输出三个星和小星星和树干上的星之间的间隔空格字符并输出一个星号来结束输出每一行星之间的间距变化与间距之间间隔较大小的相邻行的结束时间交替不同空余以模仿真实的树的生长模式相反进行类比起来比普通的字符串控制起来要容易一些只需要记住不同的空格数量就可以了实现起来也很简单也很容易模拟一个完整的动态效果对于整个树的动态效果也很容易模拟实现但是代码会相对复杂一些需要根据具体情况进行调整需要注意的是这里的实现是基于字符串的控制以及字符串之间的换行和空格字符的控制来实现的对于字符之间的间隔距离的变化是根据当前的位置来确定的需要在不同的位置进行适当的计算并控制好间隔的大小否则会影响最终的动态效果以上是整个圣诞树的基本动态效果模拟思路如果需要其他的变化或更加复杂的效果需要进一步的改进或定制代码来适应特定的需求可以通过适当的算法或设计模式来实现其他的效果需要注意的是需要根据具体需求进行调整和完善代码以实现更加复杂的效果和更好的用户体验同时需要注意代码的可读性和可维护性以确保代码的质量和可靠性同时需要注意测试和调试以确保代码的正确性和稳定性以确保最终的动态效果符合预期并能够正常运行需要注意的是,这里的实现是基于字符串的控制和空格字符的控制来实现的,因此需要考虑到字符之间的间隔距离的变化,并根据当前的位置进行适当的计算和控制。此外,还需要考虑到动态效果的实时性和稳定性,以确保最终的动态效果能够流畅地展示出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值