I’m a little confused by the class code. Here’s what I’m trying to do:
//Program takes "string text" and compares it to "string remove". Any letters in
//common between the two get deleted and the remaining string gets returned.
#include <string>
#include "genlib.h"
string CensorString1(string text, string remove);
int main() {
CensorString1("abcdef", "abc");
return 0;
}
string CensorString1(string text, string remove) {
for (int i = 0; text[i]; i++){
for (int n = 0; remove[n]; n++){
if (i != n){
string outputString = ' '; //to store non repeated chars in,
//forming my return string
outputString += i;
}
}
}
return outputString;
}
- I’m getting an error on the “outputString += 1” saying: “cannot convert from “char” to
std::basic_string - I’m also getting an error on the “return outputString” saying: undeclared identifier
???????
I get that I’m putting a “char” on a “string” variable but what if shortly that “char” will soon be a string? Is there a way to pass this?
I’m always forgetting libraries. Can someone recommend a couple of standard/basic libraries I should always think about? Right now I’m thinking , “genlib.h” (from class).
C++ is kicking my ass. I can’t get around constant little errors. Tell me it’s going to get better.
There are many errors in your code:
outputStringneeds to be in the outer scope (syntax)itoninstead oftext[i]toremove[n](semantic)ito the output instead oftext[i](semantic)CensorString1(semantic)Here is your modified code:
This has some remaining issues. For example, using
text[i]andremove[n]for termination conditions. It is also very inefficient, but it should be a decent start.