What I'm trying to do: 

> 
> Write a specialized version of the template from the previous exercise to handle `vector<const char*>` and a program that
>  uses this specialization.
> 
> 
> 

I wrote the program like this:

```
template<typename T>
int count(vector<T> tvec, const T &t);

template<>
int count(vector<const char *> tvec, const char *const &s)
{
    int count = 0;
    for (auto c : tvec)
        if (c == s) {
            ++count;
        }
    return count;
}

template<typename T>
int count(vector<T> tvec, const T &t)
{
    int count = 0;
    for (auto c : tvec)
        if (c == t) {
            ++count;
        }
    return count;
}

cout << count(svec, "GUO");

```

but I get the error that says

`deduced conflicting types for parameter ‘const T’ (‘std::basic_string<char>’ and ‘char [4]’)`

I want to know how to handle this. and further, in the template function, it seems that an array can be changed to the pointer, why my program cannot handle it?