我将指针传递给rapidjson::Document作为参数。
foo(rapidjson::Document* jsonDocument)
{
std::cout << jsonDocument["name"] << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
但我无法jsonDocument["name"]访问 name 属性。
尝试不使用指针会导致错误:
error: 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::GenericDocument(const rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = rapidjson::CrtAllocator]' is private
GenericDocument(const GenericDocument&);
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?
我正在尝试使用libsodium制作一个测试应用程序,但是我收到错误:
main.cpp:6: undefined reference to `sodium_init'
Run Code Online (Sandbox Code Playgroud)
我运行以下命令以root用户身份安装。
$ ./configure
$ make && make check
$ make install
Run Code Online (Sandbox Code Playgroud)
这是有问题的代码。
#include <stdio.h>
#include <sodium.h>
int main(int argc, char **argv)
{
if (sodium_init() == -1)
{
return 1;
}
printf("libsodium had no issues!\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我使用CodeLite作为我的 IDE,我的 C++ 编译器选项如下:
-g;-O0;-Wall;-lsodium
Run Code Online (Sandbox Code Playgroud)
这些选项是默认的,我添加-lsodium到列表中。
尝试main.cpp使用以下命令直接从终端编译g++ -lsodium main.cpp会引发相同的错误。
有人可以帮我解决我的问题。