Search code examples
c++auto

How to use auto keyword in argument list in C++ 11?


How to replace auto keyword from the function parameter when there will be multiple type arguments called with this function? because I want to use -std=c++11 and I am getting this error in omnet++:

**error: use of auto in parameter declaration only available with -std=c++14 or -std=gnu++14**  
void get_index(auto s_arra[], auto elem) {
    ...
}

void main() {
    get_index(float array1, float var1);
    get_index(int array2, int var2);
}

Solution

  • void get_index(auto s_arra[], auto elem) {
        //...
    }
    

    Would be valid only in C++20 (gcc error message is misleading)

    previously, you use template the verbose way

    template <typename T1, typename T2>
    void get_index(T1 s_arra[], T2 elem) {
        //...
    }
    

    and probably they use same type, so

    template <typename T>
    void get_index(T s_arra[], T elem) {
        //...
    }