在‘之前需要初始值设定项&’;代币 我写了一个简单的例子,它来自于《C++编程语言第四版》。 #包括 结构条目{ 字符串名; 整数; } ostream&operator

在‘之前需要初始值设定项&’;代币 我写了一个简单的例子,它来自于《C++编程语言第四版》。 #包括 结构条目{ 字符串名; 整数; } ostream&operator,c++,C++,您有四个主要错误: 首先,在struct声明之后缺少分号。在每个类或结构声明之后,您需要放置一个 其次,ostream不是标识符,您可能想使用std::ostreamostream位于标准头中,位于std命名空间中 第三,您缺少std::string标题,您应该使用std::前缀引用string类 最后,number是int类型,而不是const char*类型,就像字面的“12345”一样。你可能想写:a.number=12345 在所有这些修复之后,您的程序将如下所示: #include &

您有四个主要错误:

首先,在struct声明之后缺少分号。在每个
结构
声明之后,您需要放置一个

其次,
ostream
不是标识符,您可能想使用
std::ostream
ostream
位于
标准头中,位于
std
命名空间中

第三,您缺少
std::string
标题,您应该使用
std::
前缀引用
string

最后,
number
是int类型,而不是
const char*
类型,就像字面的
“12345”
一样。你可能想写:
a.number=12345

在所有这些修复之后,您的程序将如下所示:

#include <ostream>
#include <string>

struct Entry{
  std::string name;
  int number;
};

std::ostream& operator<<(std::ostream& os, const Entry& e){
   return os << "{\"" << e.name << "\"," << e.number << "}";
}

int main()
{
  Entry a;
  a.name = "Alan";
  a.number = 12345;
}
#包括
#包括
结构条目{
std::字符串名;
整数;
};

std::ostream&operator您有四个主要错误:

首先,在struct声明之后缺少分号。在每个
结构
声明之后,您需要放置一个

其次,
ostream
不是标识符,您可能想使用
std::ostream
ostream
位于
标准头中,位于
std
命名空间中

第三,您缺少
std::string
标题,您应该使用
std::
前缀引用
string

最后,
number
是int类型,而不是
const char*
类型,就像字面的
“12345”
一样。你可能想写:
a.number=12345

在所有这些修复之后,您的程序将如下所示:

#include <ostream>
#include <string>

struct Entry{
  std::string name;
  int number;
};

std::ostream& operator<<(std::ostream& os, const Entry& e){
   return os << "{\"" << e.name << "\"," << e.number << "}";
}

int main()
{
  Entry a;
  a.name = "Alan";
  a.number = 12345;
}
#包括
#包括
结构条目{
std::字符串名;
整数;
};

std::ostream&运算符在
struct
声明后使用分号。是的,使用std.(删除问题,同时您可以:-)也
int number
,然后
a.number=“12345”
是您想要做的吗?dasblinkenlight是正确的,结构声明后缺少分号是原因。谢谢
struct
声明后缺少分号。是的,使用std.(删除问题,同时您可以:-)也
int number
,然后
a.number=“12345”
是您想要做的吗?dasblinkenlight是正确的,结构声明后缺少分号是原因。谢谢