小编ome*_*net的帖子

使用typedef和#define进行不同的原型设计

我正在为项目编写一组链表功能.
我需要为列表节点中的数据类型提供灵活性(int/char)

所以我试着这样做:

在main.cpp中

#define INT_DATA
#include "lists.h"
....
Run Code Online (Sandbox Code Playgroud)

在lists.h

#ifdef CHAR_DATA
typedef char DATA_TYPE;
#endif
#ifdef INT_DATA
typedef int DATA_TYPE;
#endif

typedef struct lnode {
    DATA_TYPE data;
    struct lnode* next; //points to the next node
} LNODE;

LNODE * createNewListNode(DATA_TYPE data, LNODE* next);
....
Run Code Online (Sandbox Code Playgroud)

但所有这些似乎都不起作用......当原型不同时,我不想写重复的代码.

我究竟做错了什么?这可能吗?

请注意

这是一个练习,我不能使用类,我不能使用任何标准库

c c++ typedef linked-list c-preprocessor

3
推荐指数
1
解决办法
428
查看次数

标签 统计

c ×1

c++ ×1

c-preprocessor ×1

linked-list ×1

typedef ×1