# V660. Program contains an unused label and function call: 'CC:AA()'. Probably meant: 'CC::AA()'.

The analyzer has detected a potential error when the programmer makes a misprint writing ':' instead of '::'.

An unused label is found in the code of a class method. This label is followed by a function call. The analyzer considers it dangerous when a function with such a name is placed inside one of the base classes.

Consider the following sample:

    class Employee {
    public:
      void print() const {}
    };

    class Manager: public Employee {
      void print() const;
    };

    void Manager::print() const {
      Employee:print();
    }

The line 'Employee:print();' is very likely to be incorrect. The error is this: unlike it was intended, the function from the own class 'Manager' is called instead of the function from the 'Employee' class. To fix the error we just need to replace ':' with '::'.

This is the fixed code:

    void Manager::print() const {
      Employee::print();
    }

Here's one more sample:

    namespace Abcd
    {
      void Foo() {}
    }

    class Employee {
      void Foo() {}
      void X() { Abcd:Foo(); }
    };

The error here is this: the function within the scope of 'Abcd' should have been called. This error is easy to fix:

    void X() { Abcd::Foo(); }

This diagnostic is classified as:

CWE-480