This is a very common error and one that is more confusing due to some incorrect blog posts about using the canonical tag with the hreflang tag.  The requirement is quite simple, if you have a HREFLang element on a page for any country you MUST also have a element to the page it is on.  

Each language version must identify all other language versions, including itself.  For example, if your site has 3 versions.  Australian, US and UK you would have 3 rows of hreflang on EVERY page.   

<link rel="alternate" href="" hreflang="en-GB"/>

<link rel="alternate" href="" hreflang="en-US"/>

<link rel="alternate" href="" hreflang="en-AU"/>

Google's Webmaster Support Reference - is pretty clear on the requirement and will give you an error in your Webmaster console if you are missing it.  

Google's Webmaster Support Reference -

Incorrect Implementation:  

The example below from the Guardian shows the source code from their Australian page that only has a reference with a canonical and no hreflang version.  The requirements highlighted above require an hreflang="en-AU" entry for the Australian page.  The canonical is ok to use WITH the hreflang element but you must reference.