I am very new in Solidity programming. I was practicing a code by myself and faced this problem. Everything seems okay from the example except when i try to compile, it is giving me this error in solidity "TypeError: Data location must be "storage", "memory" or "calldata" for variable, but none was given". can u guys please help me understand and also tell me how can i write this part more accurately? Thank you very much for taking time! the code is below!
function issueCertificate(
address _issuer, address _prover, string memory _status,
uint meatBatchId, bytes memory signature) public returns (uint) {
Entity memory issuer = entities[_issuer];
require (issuer.mode == Mode.ISSUER);
Entity memory prover = entities[_prover];
require (prover.mode == Mode.PROVER);
Status status = unmarshalStatus(_status);
uint[] id = certificates.length;
Certificate memory certificate = Certificate(id, issuer, prover, signature, status);
certificateIds.push(certificateIds.length);
certificates[certificateIds.length-1] = certificate;
emit IssueCertificate(_issuer, _prover, certificateIds.length-1);
return certificateIds.length-1;
}