**关闭。**此题需要debugging details。目前不接受答复。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
2天前关闭。
Improve this question
如何编写一个类函数,允许另一个函数通过其指针修改成员?
例如:
class cFoo
{ private:
char *m_bar;
public:
char *bar(void) {return m_bar;}
void set_bar(char *newBar) {m_bar = newBar;}
};
void func2(char **c)
{ *c = malloc(256);
}
cFoo fooInst;
func2(&fooInst.m_bar); // this will fail, but...
// how to do this with a function that references 'm_bar'?
我不能使用set_bar
,因为func2
需要设置值。
我正在寻找一个类cFoo的函数,我可以使用它作为参数传递给另一个函数,该函数需要修改cFoo的成员。
注意:char
和malloc
纯粹是为了说明的目的,实际情况要复杂得多,为了讨论的目的已经简化了。实际的代码是遗留代码,我们正试图逐步地、非破坏性地重构它。
1条答案
按热度按时间k3bvogb11#
这是一个非常糟糕的设计,你可以做这样的事情:
好一点:
让我们忽略与存储非托管原始指针有关的问题。