Diagnostic 319: name followed by "::" must be a class or namespace


Cause: 

This diagnostic occurs when a qualifier is not preceded by a class or namespace name. 

Example: 

class C {
   static int i;
};

typedef int Foo;

int Foo::i;  // error -- Foo is not a class or namespace


> icl -c diag319.cpp
Intel® C++ Compiler Professional for applications running on IA-32, Version 11.1    Build 20090511 Package ID: w_cproc_p_11.1.035
Copyright (C) 1985-2009 Intel Corporation.  All rights reserved.

diag319.cpp
diag319.cpp(7): error: name followed by "::" must be a class or namespace name
  int Foo::i;
      ^


Resolution: 

Quality the name correctly.  For example:

int C::i;    // ok, C is a class name
For more complete information about compiler optimizations, see our Optimization Notice.