我想了解如何将const结构引用转换为非const结构指针。将const结构引用转换为非const结构指针
我有一个叫Foo的结构:
struct Foo
{
Foo& someFunc()
{
//do something
return *this;
}
};
我有一个方法:
struct Bar
{
Foo* fooPointer;
void anotherFunc(const Foo& foo)
{
// set fooPointer to foo's pointer
}
};
我会这样称呼它:
Foo foo;
Bar bar;
bar.anotherFunc(foo.someFunc());
但我怎么写anotherFunc ()?
void anotherFunc(const Foo& foo)
{
fooPointer = &foo; // <-- This doesn't work as foo is still const
}
为什么'anotherFunc'需要一个const引用? – ecatmur 2014-10-31 12:34:19
如果你需要存储一个指向非const对象的指针,传递一个非const引用,否则你只是乞求麻烦。 – 2014-10-31 12:37:23
@ecatmur为了这个例子,它只是做。我正在问一个非常具体的问题,而不是寻求重组我的代码的帮助。 – Beakie 2014-10-31 12:39:50