Question: How can I compare a single character from a string, and another string (which may or may not be greater than one character)

This program gives me almost 300 lines of random errors. The errors don't reference a specific line number either, just a lot of stuff about "char\* ", "", or "std::to\_string".

```
#include <iostream>
#include <string>

using std::cout;
using std::string;

int main() {
    string str = "MDCXIV";
    string test = "D";

    if (test == str[4]) {     // This line causes the problems
        cout << test << endl;
    }
    return 0;
}

```

Answer: 
`str[4]` is a `char` type, which will not compare with a `string`.

Compare apples with apples.

Use

```
test[0] == str[4]

```

instead.
You're comparing a char to a std::string, this is not a valid comparison.
You're looking for std::string::find, as follows:

```
if( test.find( str[4] ) != std::string::npos ) cout << test << "\n";

```

Note that this will return true if test *contains* `str[4]`.