在强制类型转话的时候,本来是不对的,但是加上引用符号后就变得正确,为什么?(未解决)

#include<iostream>
#include"string"
#include"seqlist.h"
using namespace std;
//创建节点,遍历输出节点,删除节点
typedef struct Teacher
{
	int age;
	string name;

}Teacher;

//
//SeqList* SeqList_Create(int capacity);
//
//void SeqList_Destroy(SeqList* list);
//
//void SeqList_Clear(SeqList* list);
//
//int SeqList_Length(SeqList* list);
//
//int SeqList_Capacity(SeqList* list);
//
//int SeqList_Insert(SeqList* list, SeqListNode* node, int pos);
//
//SeqListNode* SeqList_Get(SeqList* list, int pos);
//
//SeqListNode* SeqList_Delete(SeqList* list, int pos);
int main()
{
	Teacher t1, t2, t3, t4;
	t1.age = 31;
	t2.age = 32;
	t3.age = 33;
	t4.age = 34;

	SeqList* list;
	Teacher *it;
	int reg;
	list = SeqList_Create(4);//顺序存储必须在先开辟内存。
	//进行到每一步,一定要验证
	if (list == NULL)
	{
		cout << "create fail /n";
		return;
	}


//	reg =  SeqList_Insert(list, (SeqListNode*)  t1, 0); 为什么这种的就不对呢?
	reg = SeqList_Insert(list, (SeqListNode*) &t1, 0);


	system("pause");
}

  

原文地址:https://www.cnblogs.com/xiaochige/p/7044205.html