【发布时间】:2014-03-23 04:29:58
【问题描述】:
我的代码是这样的
std::string & Product::getDescription() const {
return &description;
}
我已经用 description 和 *description 尝试了所有不同的方法,但没有任何效果,但是当我去掉返回类型的引用部分时,它工作正常。问题是我们应该使用 &。我真的很困惑为什么没有任何效果。在项目的早期还有代码:
void Product::setDescription(const std::string &newUnits) const {
units = newUnits;
}
单位被声明为全局公共变量。它给我的确切错误是:
错误:从“const string {aka const std::basic_string}”类型的表达式中对“std::string& {aka std::basic_string&}”类型的引用进行无效初始化
【问题讨论】:
-
description是什么类型? -
你确定这是正确的错误信息吗?
-
能否提供
Product的完整声明? -
您声明返回一个引用,但您返回的是一个指针(
&description是一个地址)
标签: c++ reference compiler-errors initialization