2008-12-06 193 views

回答

19

嘗試

(*foo)->member = 1; 

你需要明確使用*第一。否則,這是試圖解除引用成員。

+0

一個疑問的例子:如果changeMember()函數是在類庫中創建的,我需要在我的控制檯應用程序中訪問它,應該如何完成? :@Jonathan Leffler – TechBrkTru 2015-06-04 07:34:27

1

也許(* FOO) - >成員= 1(如果它的動態分配)

+0

沒有也許 - 但動態分配並不重要。 – 2008-12-08 01:35:36

7

由於運算符優先級,你需要把解決此括號:

(*foo)->member = 1; 
3

您可以使用一個臨時變量來提高可讀性。例如:

Ttype *temp = *foo; 
temp->member = 1; 

如果您有控制權並允許使用C++,更好的方法是使用引用。例如:

void changeMember(Ttype *&foo) { 
    foo->member = 1; 
}