You need to copy class-header-nav_walker.php in your child theme (replicating the same folder structure! – if you copy it in your functions.php you’ll get the same error again!) and modify (practically replace) the function start_el() with the code above, not add it. The error you posted is php’s way of saying: “Can’t have same function declared more than once, mate. Give it another name or delete one version.”
You already have the same function declared earlier, probably in the same file. Or in functions.php of your child theme, if that’s where you pasted the code.
In order to shed a little light on WP’s logic regarding child themes: whenever it needs a file from the theme, WP first searches in the child theme. If the file’s not there, it gets fed from parent. So, whenever you want to modify anything from the parent, copy the file to the same folder in your child theme and hack it away. This rule doesn’t apply to functions.php and style.css though.
Also, beware that when the parent gets updated, sometimes the files you copied to your child theme have been modified and you can’t benefit from the mods unless you copy again the original from the parent and make the mods once more (saving in your child theme).