我被告知要使用Octave用C编译此程序。之前我已经成功地使用Octave编译了一个简单的C程序,但对于这个程序,尽管我试图将部分C++语言更改为C语言,但我仍然无法在C中进行编译。
#include <iostream>
#include <octave/oct.h>
int main (void)
{
std::cout << "Hello Octave world!\n";
int n = 2;
Matrix a_matrix = Matrix (n, n);
for (octave_idx_type i = 0; i < n; i++)
for (octave_idx_type j = 0; j < n; j++)
a_matrix(i,j) = (i + 1) * 10 + (j + 1);
std::cout << a_matrix;
return 0;
}
这个问题有解决方案吗?非常感谢,对于我在使用Octave和这个论坛上的任何错误,请原谅。
编辑(Alter Mann回答后):
这是我的C程序代码。
#include <stdio.h>
int main(void)
{
printf("Hello Octave World!");
int n=2;
Matrix a_matrix = Matrix (n, n);
for (octave_idx_type i=0; i<n; i++)
{
for (octave_idx_type j=0; j<n; j++)
{
a_matrix(i,j) = (i+1) * 10 + (j+1);
}
printf ("%d", &a_matrix);
}
return 0;
}
但是我收到了这个错误
standalone.c: 在函数‘main’中:
standalone.c:8: 错误:未声明‘Matrix’(在此函数中第一次使用)
standalone.c:8: 错误:(每个未声明的标识符仅报告一次
standalone.c:8: 错误:对于出现的每个函数。)
standalone.c:8: 错误:在‘a_matrix’之前期望‘;’
standalone.c:10: 错误:未声明‘octave_idx_type’(在此函数中第一次使用)
standalone.c:10: 错误:在‘i’之前期望‘;’
standalone.c:10: 错误:在此函数中第一次使用‘i’
standalone.c:12: 错误:在此函数中第一次使用‘j’
standalone.c:12: 错误:在‘j’之前期望‘;’
standalone.c:14: 警告:隐式声明函数‘a_matrix’
standalone.c:17: 错误:未声明‘a_matrix’(在此函数中第一次使用)