//SPDX-Licence-Identifier: GNU AGPL pragma solidity >= 0.5.0 < 0.9.0; contract Election{ struct Candidate{} string name; uint numVotes; } struct Voter{ string name; bool authorised; uint whom; bool voted; } address public owner; string public electionName; mapping (address => Voter) public voters; Candidate [] public candidates; uint public totalVotes; modifier ownerOnly(){ require(msg.sender == owner); _; } function startElection(string memory _electionName) public{ owner = msg.sender; electionName = _electionName; } function addCandidate(string memory _candidateName) ownerOnly public{ candidates.push(Candidate(_candidateName, 0)) } function authorizeVoter(address _voterAdress) ownerOnly public{ voters[_voterAdress] authorised = true; } } error text : Election.sol:9:5: ParserError: Expected pragma, import directive or contract/interface/library definition. struct Voter{ ^----^