Compiler Warning (level 1) C4667
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Warning (level 1) C4667.
function' : no function template defined that matches forced instantiation
You cannot instantiate a function template that has not been declared.
The following sample will cause C4667:
// C4667a.cpp // compile with: /LD /W1 template void max(const int &, const int &); // C4667 expected
To avoid this warning, first declare the function template:
// C4667b.cpp
// compile with: /LD
// Declare the function template
template<typename T>
const T &max(const T &a, const T &b) {
return (a > b) ? a : b;
}
// Then forcibly instantiate it with a desired type ... i.e. 'int'
//
template
const int &max(const int &, const int &);
Show: