This documentation is archived and is not being maintained.

Compiler Warning (level 1) C4344

behavior change: use of explicit template arguments results in call to 'function'

A call to a function using explicit template arguments calls a different function than it would if explicit arguments had not been specified

The following sample generates C4344:

// C4344.cpp
// compile with: /EHsc /W1
#include "iostream"
using namespace std;
template<typename T> 
void f(T)
   cout << " in template function" << endl;
void f(char)
   cout << " in nontemplate function" << endl;

int main() 
   f<int>('a');   // C4344