Os nomes de cor são usados como adjetivos e, portanto, concordam em género e número com o substantivo qualificado por eles.
Essas palavras são usadas como substantivos apenas para designar a entidade do mundo real que representam: «o verde não lhe fica bem»; «usar verde da paz».
Há casos em que usamos substantivos para atribuir a um outro substantivo a característica da cor, nesses casos, usa-se a expressão «da cor (de)» antes do termo substantivo escolhido como qualificador: «blusas da cor creme», «blusas cor de creme» ou «blusas creme»; «sapatos cor de ouro velho» ou «sapatos ouro velho»; «vestidos rosa» ou «vestidos cor de rosa»; «olhos cor de esmeralda» ou «olhos esmeralda». Nos casos mencionados e em outros com as mesmas características, podemos omitir a expressão «da cor de» e não flexionar o nome, pois a expressão «da cor de» está implícita.
Voltando aos nomes de cor – azul, amarelo, branco, etc. –, não encontro outro uso/significado para os mesmos que não seja o de atribuir a qualidade de uma cor ao substantivo que acompanham e, como tal, devem concordar em género e número com o substantivo que determinam. Exceto nos casos dos adjetivos compostos que já se encontram descritos em qualquer gramática.
Creio, portanto, que o professor em questão se equivoca ao generalizar uma regra que se aplica exclusivamente aos casos em que a qualidade da cor provém de um substantivo concreto.