【问题标题】:How to define a function that returns a string outside a struct it was declared in如何定义一个函数,该函数在声明它的结构之外返回一个字符串
【发布时间】:2020-03-21 13:29:01
【问题描述】:

我的代码无法正常工作,不知道如何解决这个问题。

#include <string>
struct car{
std::string car_name;
std::string get_name(void);
};

car::std::string get_name(){
return car_name;
}

给我错误“错误:'struct car'中的'std'没有命名类型car::std::string get_name(void)”

【问题讨论】:

  • std::string get_name(){命名空间是一样的。

标签: c++ string c++11 struct


【解决方案1】:

您应该将其声明为:

std::string car::get_name() {
  return car_name;
}

这是因为,get_name()struct car 的一部分。而std::stringcar 是不同的实体。 stringnamespace std 的一部分。

【讨论】:

  • 好的,解决了。非常感谢,花了太多时间在这上面
  • @Nasal,还有一个建议。将名称保留为name 而不是car_name,因为该变量已经习惯性地称为car::name。所以如果car myCar; 那么car.namecar.car_name 好。 :-)
猜你喜欢
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 2017-06-12
  • 2012-09-24
  • 2011-11-28
  • 1970-01-01
相关资源
最近更新 更多