为何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
相关产品推荐
相关产品推荐

