智能合约中的错误表明没有唯一属性。

error in smart contract indicate haven't unique attribute.

我试着写了一个可以抱怨的智能合约。这是代码

pragma solidity ^0.4.2;

contract Complain {
    //Model Complain
    struct compalins {
        uint id;
        string category;
        string desc;
        string complainer;
    }

    mapping( uint => complains) public newComplain;

    uint public complainCount;

    function Complain () public {
        addComplain("c1","bhbh","bybhb");
        addComplain("c2","bhbh","bybhb");
    }

    function addComplain (string _category,string desc,string complainer){
        complainCount ++;
       // newComplain[ComplainCount] = complains(complainCount,_category,desc,complainer);
    }
}

在这个映射函数中给出了一个错误,并说抱怨的结构没有唯一值。但是id是唯一的。

请帮我解决这个问题

您在声明结构时拼写错误 "complains"。 (你在那里拼写了 "compalins"。)所以 mapping 行的错误是没有这样的标识符 "complains"。如果您更正拼写错误,代码将会编译。