gpt4 book ai didi

c - 每次运行此代码时,我都会取消对不完整类型的引用

转载 作者:太空宇宙 更新时间:2023-11-04 07:37:07 24 4
gpt4 key购买 nike

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>

typedef void withdrawPtr(int);
typedef void depositPtr(int);
typedef void accountPtr(int);
typedef void deltaccountPtr();
int balance;
pthread_mutex_t mutex1;

我实际上已经将等效的 c++ 代码转换为 c 代码

typedef struct 
{
int (*read)();
withdrawPtr *withdraw;
depositPtr *deposit;
accountPtr *account;
deltaccountPtr *deltaccount;

} accountstrct;


void *WithdrawThread(void *param)
{
struct accountstrct* Mystruct = (struct accountstrct*) param;

在这里我得到了指向不完整类型的解引用指针。我不明白还有什么方法可以在此处调用函数 withdraw。?

Mystruct->withdrawPtr=*withdraw ;
Mystruct->withdrawPtr(2);
return 0;
}

最佳答案

您从未定义过struct accountstrct。要么将类型定义为 struct accountstrct { }; 并使用 struct accountstrct 引用该类型,要么将类型定义为 typedef struct {} accountstrct; 和使用 accountstrct(不是“struct accountscrct”)引用类型。

您目前已经定义了一个名为 accountstrct 的类型,但您正在尝试使用一个名为 struct accountstrct 的类型。

关于c - 每次运行此代码时,我都会取消对不完整类型的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com