#include <string>
#include <iostream>
using namespace std;
const string hexConversion = "0123456789ABCDEF";
int main() {
int dec, remainder, quotient;
string hexNum = "";
//input sequence
cout << "Enter a decimal number: ";
cin >> dec;
quotient = dec;
//conversion
do {
remainder = quotient % 16;
quotient /= 16;
hexNum.insert(0, hexConversion[remainder]);
} while (quotient != 0);
cout << "Your number in hex is " << hexNum << ".";
}
我没有大量的编码经验,并希望了解一下我对这个程序做错了什么!这是传达的错误:从'char'到'const char *'[-fpermissive]
的无效转换答案 0 :(得分:2)
您正在尝试使用std::string::insert的重载之一,但它们都不接受int和char:
您的需求之一是接受位置,计数和符号,因此请致电 <div id="container">
<ul id="Unorderedlist" >
<li id="ListofContent" class="ul-content">
<div id="divcontent" class="divcontent">
<label id="filenames" class="filenames"></label>
</div>
</li>
</ul>
</div>
答案 1 :(得分:1)
如果您考虑使用以下功能:
iterator insert( iterator pos, CharT ch );
你需要使用:
hexNum.insert(hexNum.begin(), hexConverstion[remainder]);
答案 2 :(得分:0)
该错误即将发生,因为string::insert
没有{{1>} <{1}}作为参数的重载版本。
您可以使用此重载版本:
int
在你的情况下char
,因为你只想添加一次角色。
,或
string& insert (size_t pos, size_t n, char c);
其中n = 1