You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何myData.cpp文件出现Expected unqualified-id before '{' token错误?

解决 "Expected unqualified-id before '{' token" 编译错误

嘿,这个错误其实很好理解——你现在的代码直接把一堆嵌套大括号扔在文件里,C++编译器完全摸不清这是什么!这些初始化列表不能凭空存在,它们得属于某个具体的变量(比如数组、结构体数组或者容器)才行。

咱们一步步来修正:

首先,你得定义一个结构体来存储每一组的代码和描述,让编译器知道每个大括号里的两个字符串对应什么类型:

#include <string>

struct DataEntry {
    std::string code;
    std::string description;
};

然后,你需要声明一个数组(或者用C++的std::vector更灵活),把你的初始化列表绑定到这个变量上:

方式1:用普通数组

// 声明并初始化数组
DataEntry myData[] = {
    { "*****", "Error" },
    { "00-01", "Instructional exposition (textbooks, tutorial papers, etc.)" },
    { "00-02", "Research exposition (monographs, survey articles)" },
    { "00A05", "General mathematics" }
};

方式2:用std::vector(更推荐,灵活性更高)

#include <vector>

std::vector<DataEntry> myData = {
    { "*****", "Error" },
    { "00-01", "Instructional exposition (textbooks, tutorial papers, etc.)" },
    { "00-02", "Research exposition (monographs, survey articles)" },
    { "00A05", "General mathematics" }
};

这样一来,编译器就清楚这些大括号是用来初始化myData这个变量的,那个恼人的错误自然就消失啦。

内容的提问来源于stack exchange,提问作者tamtam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:21:17