伊莉討論區

標題: 請益 pointer的問題 [打印本頁]

作者: stephenwei_lu    時間: 2020-3-11 01:00 PM     標題: 請益 pointer的問題

struct tm *local;
time_t t;
t =time(NULL);
local = localtime(&t);

我如果要把這個local 傳遞到類似下面的funciton, 我應該怎麼接?
function( void*)



作者: tryit244178    時間: 2020-3-12 12:06 AM

像這樣,當做參數傳入函式嗎?
不知有什麼敏感字元(ˊ艸ˋ),請參考附件



作者: stephenwei_lu    時間: 2020-3-12 02:09 PM

我用int呈現一次
int i;
func(i);
func( gpointer data)
{
   int *i = (int*) data;
}
作者: stephenwei_lu    時間: 2020-3-13 09:53 AM

stephenwei_lu 發表於 2020-3-12 02:09 PM
我用int呈現一次
int i;
func(i);

說的也是,不夠詳細
我在一個callback function裡面要丟一個參數
g_signal_emit( object, callback, (gpointer)parameter)
這個參數的原型是一個gpointer, 當然是為了讓使用者丟自己想要丟的東西

作者: tryit244178    時間: 2020-3-13 02:19 PM

stephenwei_lu 發表於 2020-3-13 09:53 AM
說的也是,不夠詳細
我在一個callback function裡面要丟一個參數
g_signal_emit( object, callback, (gpoi ...

改成這樣,是你要的嗎?
  1. #define 敏感字 printf
  2. #include <stdio.h>

  3. class customClass {
  4. public:
  5.         int a;
  6.         int b;
  7. };

  8. typedef void (*CALLBACK)(const customClass*);

  9. void cbFunc(const customClass* param)
  10. {
  11.         敏感字("a = %d\n", param->a);
  12.         敏感字("b = %d", param->b);
  13. }

  14. void func(CALLBACK cb,const customClass* param)
  15. {
  16.         cb(param);
  17. }

  18. int main()
  19. {
  20.         customClass myClass;
  21.         myClass.a = 23;
  22.         myClass.b = 34;
  23.        
  24.         func(cbFunc, &myClass);
  25.        
  26.         return 0;
  27. }
複製代碼

作者: Bania    時間: 2020-3-23 01:18 PM

function( void*)

就表示 這個parameter 是個 pointer

因此你就要把  local 的 left value 給它

所以會是這樣 function( &local)





歡迎光臨 伊莉討論區 (http://www033.eyny.com/) Powered by Discuz!