0

我正在尝试将对象 obj 中包含的值传递给函数addnode,但我得到一个代码块错误,它无法obj从转换mos*mos. 怎么可以重写来传递一个指向函数addnode 的指针代码如下所示。

#include <iostream>
#include <sstream>

using namespace std;

struct mos
{
    int x;
    float y;
    mos * next;
};

void addnode (mos);

int main()
{
    mos * obj = new (nothrow) mos;
    //Check for proper memory allocation.
    if (obj == NULL)
    {
        cout << "\nProblem assigning memory.\n";
    }
    else
    {
        cout << "\n Memory well allocated.\n Result is: " << obj;
    }

    addnode(obj);
    return 0;
}

void addnode (mos * head)
{
    //code that adds a node to the last node in the linked list.
}   
4

1 回答 1

3

您的函数声明和定义不匹配。如果要传递 a mos*,请将声明更改为:

void addnode(mos*);

在编译器看到您的调用时addnode,它只看到了一个采用 amos而不是 a的声明mos*

于 2013-04-04T16:35:57.947 回答