首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Blitz++上的代码用户指南

关于Blitz++上的代码用户指南
EN

Stack Overflow用户
提问于 2013-07-17 13:36:24
回答 1查看 284关注 0票数 0

我是闪电战图书馆的初学者。当我尝试编译Blitz++用户指南中输入和输出数组的代码时,如下所示:

代码语言:javascript
复制
#include <blitz/array.h>
#include <fstream>

BZ_USING_NAMESPACE(blitz)

const char* filename = "io.data";

void write_arrays()
{
ofstream ofs(filename);
if (ofs.bad())
{
    cerr << "Unable to write to file: " << filename << endl;
    exit(1);
}

Array<float,3> A(3,4,5);
A = 111 + tensor::i + 10 * tensor::j + 100 * tensor::k;
ofs << A << endl;

Array<float,2> B(3,4);
B = 11 + tensor::i + 10 * tensor::j;
ofs << B << endl;

Array<float,1> C(4);
C = 1 + tensor::i;
ofs << C << endl;
}

int main()
{
write_arrays();

ifstream ifs(filename);
if (ifs.bad())
{
    cerr << "Unable to open file: " << filename << endl;
    exit(1);
}

Array<float,3> A;
Array<float,2> B;
Array<float,1> C;

ifs >> A >> B >> C;

cout << "Arrays restored from file: " << A << B << C << endl;

return 0;
}

我总是得到以下错误:

代码语言:javascript
复制
"
readtest.cpp:(.text+0x246): undefined reference to `blitz::tensor::k'
readtest.cpp:(.text+0x26c): undefined reference to `blitz::tensor::j'
readtest.cpp:(.text+0x281): undefined reference to `blitz::tensor::i'
readtest.cpp:(.text+0x69a): undefined reference to `blitz::tensor::j'
readtest.cpp:(.text+0x6b8): undefined reference to `blitz::tensor::i'
readtest.cpp:(.text+0x981): undefined reference to `blitz::tensor::i'
"

有人能帮帮我吗?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2014-02-21 11:18:41

我就遇到了这个问题。与其尝试使用tensor::i和tensor::j,不如声明以下内容:

代码语言:javascript
复制
firstIndex i;
secondIndex j;
thirdIndex k;

然后,您可以直接在代码中使用它们,如下所示:

代码语言:javascript
复制
A = 111 + i + 10 * j + 100 * k;

我知道他们的文档不这么说,但显然他们没有编译他们的例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17691878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档