Difference between revisions of "CPP/Templates/FunctionTemplateExplicitInstantiation"

From ProgrammingExamples
< CPP
Jump to: navigation, search
(Created page with '==FunctionTemplateExplicitInstantiation.cpp== <source lang="cpp"> #include <iostream> #include "Point.h" int main(int, char*[]) { PrintSomething(1.2); // Sometimes have to…')
 
(No difference)

Latest revision as of 22:46, 29 January 2011

FunctionTemplateExplicitInstantiation.cpp

#include <iostream>
 
#include "Point.h"
 
int main(int, char*[])
{
  PrintSomething(1.2);
 
  // Sometimes have to do this:
  PrintSomething<double>(1.2);
 
  return 0;
}

Point.h

template<typename T>
void PrintSomething(T something);

Point.cpp

#include "Point.h"
 
#include <iostream>
 
template<typename T>
void PrintSomething(T something)
{
  std::cout << something << std::endl;
}
 
template void PrintSomething<double>(double);

CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
 
Project(FunctionTemplateExplicitInstantiation)
 
ADD_EXECUTABLE(FunctionTemplateExplicitInstantiation FunctionTemplateExplicitInstantiation.cpp Point.cpp)