CS0590 de erro do compilador

Mensagem de erro

Operadores definidos pelo usuário não podem retornar void

A finalidade de um operador definido pelo usuário é retornar um objeto.

O exemplo a seguir gera CS0590:

// CS0590.cs
namespace x
{
   public class a
   {
      public static void operator+(a A1, a A2)   // CS0590
      {
      }

      // try the following user-defined operator
      /*
      public static a operator+(a A1, a A2)
      {
         return A2;
      }
      */

      public static int Main()
      {
         return 1;
      }
   }
}