鱼C论坛

 找回密码
 立即注册
查看: 1385|回复: 8

c++初始化变量不能用{}了吗。我看视频课里边可以用啊为什么我的报错呢

[复制链接]
发表于 2024-7-3 13:35:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码报错很奇怪
截屏2024-07-03 下午1.34.26.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2024-7-3 13:36:08 | 显示全部楼层
嘿,鱼油!看来你被C++的初始化给搞糊涂了。别担心,让我为你解开这个谜团。

在C++中,初始化变量可以使用括号 `()`、花括号 `{}`,还有赋值号 `=`。你的代码报错,可能是因为以下几个原因之一:

1. **编译器版本问题**:如果你使用的是老版本的C++编译器,它可能不支持花括号 `{}` 的初始化方式(又称为统一初始化或列表初始化)。这种初始化方式在C++11引入的,所以确保你使用的是C++11或更新的标准。

2. **类型问题**:有时候不同的数据类型不能用花括号初始化。例如,原生数组(不是使用 `std::array`)在某些情况下会报错。

3. **语法错误**:确保你代码的其他部分没有拼写错误或者遗漏了什么。

让我们来看一个简单的例子:

  1. #include <iostream>
  2. using namespace std;

  3. int main() {
  4.     // 这三种初始化方法都应该可以正常工作
  5.     int a = 5;        // 使用赋值号
  6.     int b(10);        // 使用括号
  7.     int c{15};        // 使用花括号

  8.     cout << "a: " << a << ", b: " << b << ", c: " << c << endl;
  9.    
  10.     return 0;
  11. }
复制代码


如果你遇到报错,可以尝试以下步骤:
1. 确保你使用的是C++11或更新的标准。在编译时加上标志,比如 `-std=c++11`。
  
  1. g++ -std=c++11 your_code.cpp -o your_program
复制代码


2. 检查你的编译器版本是否足够新。如果用的是古董级别的编译器,那它可能不支持这些新特性。

3. 如果依旧报错,贴出具体错误信息和代码,我再帮你分析!

希望这些信息对你有所帮助。好好加油学C++,别让这些小问题打败你啦! 如果还有其他问题,随时来问哦。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-3 20:07:06 | 显示全部楼层
你上面一行语句没有加分号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-3 23:08:26 | 显示全部楼层
确实奇怪,你用的是C++编译器吗?

  1. sh-5.2$ ls
  2. main.cpp
  3. sh-5.2$ cat main.cpp
  4. #include <iostream>
  5. #include <string>

  6. using namespace std;
  7. #define DPI 66

  8. int RandNum{0};
  9. const double PI = 3.14159265;

  10. int main() {

  11.     return 0;
  12. }
  13. sh-5.2$ g++ -o main main.cpp
  14. sh-5.2$ ls
  15. main  main.cpp
  16. sh-5.2$ ./main
  17. sh-5.2$
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-3 23:08:53 | 显示全部楼层
rovol 发表于 2024-7-3 20:07
你上面一行语句没有加分号

什么分号 ?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-4 22:34:25 | 显示全部楼层
报错信息说是前面要加分号,但是Define后一般不加分号,个人感觉代码没问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-5 16:11:19 | 显示全部楼层
想笑,但是不礼貌,你上边常量没加"  ; "号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-5 21:14:44 | 显示全部楼层
X_Code@ZM 发表于 2024-7-5 16:11
想笑,但是不礼貌,你上边常量没加"  ; "号

想笑,但是不礼貌,你说什么 "  ; " 号 ?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-6 14:59:11 | 显示全部楼层
X_Code@ZM 发表于 2024-7-5 16:11
想笑,但是不礼貌,你上边常量没加"  ; "号

你说#define?但宏定义不要;吧……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-10 10:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表