这是一个基本问题,但让我很难过。我有类A并且在头文件中我想B从另一个头文件定义另一个类构造函数。我在下面尝试了这段代码,我确定这不是正确的方法。
啊
class A{
public:
A();
B b(); //Constructor from another Class that defined in another header file
void Operation();
};
Run Code Online (Sandbox Code Playgroud)
我需要调用构造函数B,A.h这样我就可以在构造函数B内部调用构造函数A,也可以在 Class Binside 中使用函数A::Operation()。
A.cpp
#include "A.h"
#include "B.h"
A::A{
b(); //call constructor b
}
void A::Operation(){
b.someFunction(); //use function from class B, error here
}
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,我得到的错误是 b.someFunction()
表达式必须具有类类型
任何人都知道如何在另一个类头文件中正确定义另一个类的构造函数?并在主类构造函数中调用另一个构造函数并全局使用另一个类的函数?对不起,基本和令人困惑的问题。
我的程序很简单,我想使用原子类型。可以使用int,double但不能使用std::string。
#include <iostream>
#include <atomic>
#include <string>
int main()
{
std::atomic<int> test(0); // works
std::cout<<test; // will print 0
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我更改为
std::atomic<std::string> test("0");
Run Code Online (Sandbox Code Playgroud)
它将给出此错误
/ usr / include / c ++ / 6 / atomic:在'struct std :: atomic>'的实例中:main.cpp:16:34:
从此处需要/ usr / include / c ++ / 6 / atomic:178:7:错误:静态断言失败:std :: atomic需要一个普通可复制类型static_assert(__ is_trivially_copyable(_Tp),^ ~~~~~~~~~~~~~
我已经使用C ++ 17,C ++ 14和C ++ 11测试了该代码。遵循此线程std :: atomic <std :: string>是否正常工作?原子字符串应该可以正常工作,但是出现了这个错误。这是什么原因呢?以及如何std::atomic<std::string>正确使用?
我想unordered_map在一个步骤中插入新元素并更新它们的值(如果它们已经存在).我正在使用operator[]重载执行此操作,文档说这将返回对地图的值类型的引用.
unordered_map<int, size_t> map;
int &element = map[-3];
element++;
Run Code Online (Sandbox Code Playgroud)
这不编译.但是,以下操作会按照我的预期执行(将值初始化为1并在存在时将其递增):
unordered_map<int, size_t> map;
map[-3]++;
Run Code Online (Sandbox Code Playgroud)
以下也编译,但没有做我期望的(这是我最初写的,这导致了一个错误):
unordered_map<int, size_t> map;
auto element = map[-3];
element++;
Run Code Online (Sandbox Code Playgroud)
编译器似乎表明rvalue map[-3]是一个int,而不是一个int&.
我看了看这个答案:map operator []的返回值(以及"at"方法)
但在这种情况下,LHS类型被强制为一个值.我如何获得[可变]参考?
我正在本地设置Kafka。我已经解压缩了2.12版本并启动了zookeeper。Zookeeper已启动并正在运行,但是当我尝试使用命令启动kafka时.\bin\windows\kafka-server-start.bat .\config\server.properties,它没有显示任何输出。
我也使用命令在git bash中尝试过bin/kafka-server-start.sh config/server.properties,它给出了错误
/c/kafka/kafka_2.12-2.1.0/bin/kafka-run-class.sh:第306行:C:\ Program:没有此类文件或目录。
您能为我提供解决方案吗?
我正在启动页面https://www.nasdaq.com/。之后,我还要等待5秒钟来加载页面。之后,我想检查页面是否存在,或者是否加载,然后抛出异常。因此,在这种情况下如何以及何时使用异常处理。见所附图片。我尝试将恢复,恢复,异常阶段放在启动阶段以及等待阶段。但我不知道在哪里放置例外。
c++ ×3
apache-kafka ×1
atomic ×1
blueprism ×1
constructor ×1
dictionary ×1
header-files ×1
rvalue ×1
stdatomic ×1
stdstring ×1
stl ×1