Question: I'm having problem with returning string outside function. Is there some sort of convertion that should be done before ?

I'm using public `const int val_int[ ]` and `const char* val_rom[ ]` outside class.

And inside class:

```
private:
    char* roman;

public:
    char arab2rzym(int arabic) throw (RzymArabException){
        if( arabic < 0){
            throw RzymArabException(arabic + " is too small");
        }
        else if(arabic > 3999){
            throw new RzymArabException(arabic + " is too big");
        }
        std::string roman;

        for(int i=12; i>=0; i--){
            while(arabic>=val_int[i]){
                roman.append(val_int[i]);
                arabic-=val_int[i];
            }
        }
        return roman;

    }

```

Answer: 
Would it be possible for you to change signature of the method to:

```
std::string arab2rzym(int arabic)

```

if so, you can work with the string where you actually need it.

Anyway, I suggest you look into [std::string reference](http://www.cplusplus.com/reference/string/string/), especially [operator[]](http://www.cplusplus.com/reference/string/string/operator%5B%5D/) and method `c_str()`.
Logically, a char is something like `'a'` or `'1'`, whereas a string would be `"a11a"`. If you expect this to work, what do you expect it to do? What would the char corresponding to `"a11a"` be? So, a single char corresponding to an array of chars?

To answer the question - you get the error because you can't convert a string to a char. How you fix it depend entirely on what you want to accomplish - most likely you don't want to return a `char`, but a `string`.