使用igraph C库生成具有幂律度分布的网络时的"excess elements in scalar initializer"
"excess elements in scalar initializer" when using igraph C library to generate a network with power law degree distribution
我正在使用 igraph C 库,我想生成一个无向、无环和具有幂律度分布的单边网络。我拥有的参数是:
- 节点数 = 25,000
- 边数 = 25,000
- alpha = 2.16104
我想使用igraph_static_power_law_game
图形生成器,我编写了以下代码。
#include <igraph.h>
int main() {
igraph_t g;
int igraph_static_power_law_game(&g, 25000, 25000, 2.16104, -1, 0, 0, 1);
igraph_destroy(&g);
return 0;
}
我使用以下命令编译代码。
gcc testpw.cpp -I/usr/local/Cellar/igraph/0.7.1/include/igraph -L/usr/local/Cellar/igraph/0.7.1/lib -ligraph -o testpw
并出现了以下错误。
error: excess elements in scalar initializer
int igraph_static_power_law_game(&g, 25000, 25000, 2.16104, -1, 0, 0, 1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
由于我找不到使用 igraph C 库在线生成幂律度网络的示例,我不知道有什么方法可以做到这一点。我在这里做错了什么吗?
如果你正在编译 C 代码,你不需要igraph_static_power_law_game()
之前的int
,因为这会使该行看起来像是函数的错误声明,而不是函数的调用。
或者,如果您正在编译C++代码,编译器会将括号的内容解释为变量igraph_static_power_law_game
的初始值设定项,并抱怨单个int
变量不需要多个初始值设定项。
无论哪种方式,写作:
igraph_static_power_law_game(&g, 25000, 25000, 2.16104, -1, 0, 0, 1);
修复了即时编译错误。 您可能应该使用以下内容:
if (igraph_static_power_law_game(&g, 25000, 25000, 2.16104, -1, 0, 0, 1) != 0)
…report error…
这样,如果函数失败,您就会知道它。
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- 通过网络、跨平台传递std::变体是否安全
- 如何在MNIST上提高网络运行的准确性
- Active Directory:从网络服务帐户下运行的Windows服务调用ADsOpenObject时失败
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 神经网络不学习.卡在50%
- 如何绑定 C++ gRPC 客户端的网络接口
- 在本地网络中通过OpenCV(C++)实时流式传输图像
- 在不知道套接字的情况下关闭网络连接
- 是否有 Windows 用户空间函数来枚举连接的网络共享?
- 在没有管理员权限的情况下连接到同一网络中的命名管道
- 无法为 X.radio 创建中等可视化,因为找不到网络节点可视化 - Omnet++
- 将传入的网络"char*"数据转换为"uint8_t"并返回的安全方法是什么?
- 像 POCO 这样的C++图书馆如何访问网络?
- 使用源读取器从网络摄像头源获取 H264 样本
- 如何将网络模块添加到 QT pro 文件中?
- q网络回复 无状态码或错误,但失败
- 使用igraph C库生成具有幂律度分布的网络时的"excess elements in scalar initializer"