When I am using str[] I get compilation error of mismatch type.When I use str+push_back instead of str[] everything works fine.
class Solution {
public:
string bits(int n){
string str[32];//size already known thats why used str[32]
for(long long int i=31;i>=0;i--)
{
if(n & 1<<i){
str[i]=('1');
}else{
str[i]=('0');
}
}
return str;
};
int findMaximumXOR(vector<int>& nums) {
queue<int>q;
vector<string>s(nums.size());
for(int i=0;i<nums.size();i++ ){
s[i]=bits(nums[i]);
cout<<s[i]<<"\n";
}
return 0;
}
};
string str[32];is an array of 32strings namedstr. It's not astringwith 32 characters.std::stringhandles memory management for you. Just declare astd::string str;and call it a day. Alternative constructors here if you want to create it with a certain size.str[i]refers tostring#i in that array of strings. You end up trying to assign acharto astd::string.