class MyLinkedList
{
int size_;
Node head;
void setVal(void *val, int type)
{
Node n;
n.value = val;
head.next->prev = &n;
n.next = head.next;
head.next = &n;
n.prev = &head;
n.type = type;
size_++;
}
MyLinkedList()
{
size_=0;
head.type = 0;
head.next = &head;
head.prev = &head;
}
void setValue(string value)
{
cout << value << endl;
setVal(&value,3);
}
void toConsFirst()
{
int *i;
double *d;
string *s;
switch(head.next->type)
{
case 3:
s = (string*)(head.next -> value);
cout << *s << endl;
return;
}
}
}
我对案例 3 有疑问:from "*s" 不在控制台上打印字符串。但是在 setValue() 字符串中“值”是可以的。在案例 3 中,我从 "&value" 上的 "value" 和 "s" 上的 "*s" 更改 seValue()。这与 addr 相同。