What does BCE0004: Ambiguous reference error mean?

What does BCE0004: Ambiguous reference error mean? I got this error after copy pasting some files in the Assets folder.

You get that when it's unclear what you're referring to, hence "ambiguous reference." i.e.,

import System;
var foo = Random.value;

In this case, since the System namespace is imported, Unity has no way of knowing whether you mean System.Random or UnityEngine.Random. So you have to make it clear:

import System;
var foo = UnityEngine.Random.value;

It means it can't work out which overload of the function to call, generally because you're giving it a variable which doesn't match either overload properly, but can implicitly be casted to both, e.g:

var test : double = 0;
var parsed = parseInt(test);

will throw an ambiguity error, as it can't work out if you're trying to call parseInt(String) or parseInt(float)

I’ve also had this error turn up when I’ve used a variable name that was a reserved Javascript keyword, such as “name”. A list of reserved words can be seen here: JavaScript Reserved Words