好大的压力 2016-08-03 13:56 采纳率: 0%
浏览 1852
已采纳

C++:new结构体释放问题

假设有如下几个文件main.c,IRSend.c, IRSend.h
在IRSend.h中定义如下:
typedef struct {
int recvpin;

int rcvstate;
int timer;
} irparams_t;
extern volatile irparams_t *irparams;

在IRSend.c中定义如下:
#include "IRSend.h"
volatile irparams_t *irparams=new volatile irparams_t;
void a()
{
irparams->recvpin=1;
}
void b()
{
irparams->rcvstate=2;
}
void c()
{
irparams->timer=2;
}

在main.c中定义如下:
#include "IRSend.h"
void main()
{
a();
b();
c();
}

请问应在哪个地方delete irparams。

  • 写回答

5条回答 默认 最新

  • 关注

    头文件里面一般放什么: 主要是类的定义,以及对象或者函数的声明。 而你的函数实现体应该放在源文件里面,包括你的new语句,然后在源文件
    里面new跟delete就可以了...你的这种编程思路有问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?