#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