【发布时间】:2016-08-01 13:49:36
【问题描述】:
这是我用于节点的结构...
typedef struct
{
struct Node* next;
struct Node* previous;
void* data;
} Node;
这是我用来链接它们的函数
void linkNodes(Node* first, Node* second)
{
if (first != NULL)
first->next = second;
if (second != NULL)
second->previous = first;
}
现在视觉工作室在这些行上给了我智能感知(更少)错误
IntelliSense: a value of type "Node *" cannot be assigned to an entity of type "Node *"
谁能解释这样做的正确方法? Visual Studio 将编译并运行它,它也可以在我的 mac 上运行,但在我的学校服务器上崩溃了。
编辑:我想过使用 memcpy 但这很简单
【问题讨论】:
-
您在此处报告的错误消息是“错误的”,应该是
"Node *" cannot be assigned to an entity of type "struct Node *"。要么你有一个非常糟糕的编译器,它会混淆事情(不太可能),这表明你以某种方式碰巧将你的代码编译为 C++。不要那样做,C 和 C++ 是不同的语言,你的问题就是一个很好的例子。
标签: c struct compiler-errors typedef