#include<iostream> 
#include<vector> 
using  namespace  std;         
 
template < class  T> 
int  ExistIndex( const  vector< T>  v, T obj, int  start =  0 , int  end =  v.size ( )  -  1 ) 
{ 
	std:: cout  <<  "Start: "  <<  start <<  std:: endl ; 
	std:: cout  <<  "End: "  <<  end <<  std:: endl ; 
    return  - 1 ; 
} 
 
int  main( ) 
{ 
      //Executing 
      vector< int >  v1 =  { 1 , 2 , 3 , 4 } ; 
      int  l =  ExistIndex( v1, 3 ) ; // Although this compiles 
 
      cout  <<  endl; 
      return  0 ; 
} 
 
				I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsgICAgICAgIAoKdGVtcGxhdGU8Y2xhc3MgVD4KaW50IEV4aXN0SW5kZXgoY29uc3QgdmVjdG9yPFQ+IHYsIFQgb2JqLCBpbnQgc3RhcnQgPSAwLCBpbnQgZW5kID0gdi5zaXplKCkgLSAxKQp7CglzdGQ6OmNvdXQgPDwgIlN0YXJ0OiAiIDw8IHN0YXJ0IDw8IHN0ZDo6ZW5kbDsKCXN0ZDo6Y291dCA8PCAiRW5kOiAiIDw8IGVuZCA8PCBzdGQ6OmVuZGw7CiAgICByZXR1cm4gLTE7Cn0KCmludCBtYWluKCkKewogICAgICAvL0V4ZWN1dGluZwogICAgICB2ZWN0b3I8aW50PiB2MSA9IHsxLCAyLCAzLCA0fTsKICAgICAgaW50IGwgPSBFeGlzdEluZGV4KHYxLCAzKTsvLyBBbHRob3VnaCB0aGlzIGNvbXBpbGVzCgogICAgICBjb3V0IDw8IGVuZGw7CiAgICAgIHJldHVybiAwOwp9
				
				 
				 
				 
				 
			 
			
				
			
			
				
	
		
	 
	
		  compilation info 
		 
	 
	prog.cpp:6:67: error: local variable ‘v’ may not appear in this context
 int ExistIndex(const vector<T> v, T obj, int start = 0, int end = v.size() - 1)
                                                                   ^
 
		
		 
	
		
		  stdout