鱼C论坛

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

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

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

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

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

x
代码报错很奇怪
截屏2024-07-03 下午1.34.26.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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

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

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

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

让我们来看一个简单的例子:
#include <iostream>
using namespace std;

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

    cout << "a: " << a << ", b: " << b << ", c: " << c << endl;
    
    return 0;
}

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

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

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-3 20:07:06 | 显示全部楼层
你上面一行语句没有加分号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-3 23:08:26 | 显示全部楼层
确实奇怪,你用的是C++编译器吗?
sh-5.2$ ls
main.cpp
sh-5.2$ cat main.cpp
#include <iostream>
#include <string>

using namespace std;
#define DPI 66

int RandNum{0};
const double PI = 3.14159265;

int main() {

    return 0;
}
sh-5.2$ g++ -o main main.cpp
sh-5.2$ ls
main  main.cpp
sh-5.2$ ./main
sh-5.2$
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

什么分号 ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2024-7-5 16:11:19 | 显示全部楼层
想笑,但是不礼貌,你上边常量没加"  ; "号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

想笑,但是不礼貌,你说什么 "  ; " 号 ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

你说#define?但宏定义不要;吧……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-4 16:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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