通常当我用C++编写任何东西并且我需要将a转换为a时char,int我只需要创建一个int等于char 的新东西.
我用过代码(片段)
string word;
openfile >> word;
double lol=word;
Run Code Online (Sandbox Code Playgroud)
我收到错误
Code1.cpp cannot convert `std::string' to `double' in initialization
Run Code Online (Sandbox Code Playgroud)
错误究竟意味着什么?第一个字是数字50.谢谢:)
尝试编译以下代码:
#include <iostream>
#include <memory>
struct Foo {
Foo() { std::cout << "Foo::Foo\n"; }
~Foo() { std::cout << "Foo::~Foo\n"; }
void bar() { std::cout << "Foo::bar\n"; }
};
void f(const Foo &foo)
{
std::cout << "f(const Foo&)\n";
}
int main()
{
std::unique_ptr<Foo> p1(new Foo); // p1 owns Foo
if (p1) p1->bar();
{
std::unique_ptr<Foo> p2(std::move(p1)); // now p2 owns Foo
f(*p2);
p1 = std::move(p2); // ownership returns to p1
std::cout << "destroying p2...\n";
}
if (p1) p1->bar();
// Foo instance is …Run Code Online (Sandbox Code Playgroud)