【发布时间】:2010-07-26 19:10:15
【问题描述】:
我是c新手,以下让我有些悲痛:
int i,j,ll,k;
double ddim,ddip,ddjm,ddjp,ddlm,ddlp;
for(i=1; i<(mx-1); i++){
for(j=1; j<(my-1); j++){
for(ll=1; ll<(mz-1); ll++){
ddim=0.5*k
ddip=0.5*k
ddjm=0.5*k
ddjp=0.5*k
ddlm=0.5*k
ddlp=0.5*k
Wijl(i,j,ll) = ((1.0/h_x)*(ddip) \
((1.0/h_x)*(ddim)) \
((1.0/h_y)*(ddjp)) \
((1.0/h_y)*(ddjm)) \
((1.0/h_z)*(ddlp)) \
((1.0/h_z)*(ddlm)) ;
}
}
}
然后我使用 python 和 scipy 使用 gcc 编译它,将所有未初始化的内容传递给它,但我知道问题出在代码的 1.0/h_x 部分。如果我使用 python/gcc 编译基本的 c 语句,它可以工作,所以我没有 python/gcc 问题。
我得到的错误是:“错误:'1.0e+0 / h_x'中'operator/'的模糊重载
好像是在做赋值重载,我想做的就是除法!
任何帮助将不胜感激! :)
谢谢,
泰勒
【问题讨论】:
-
出色的混淆代码,这是故意的吗? ;-)
-
你能包含更多的代码吗?例如,h_x 在哪里声明?
-
你为什么使用 C++ 编译器?
-
哈哈,是啊....不是我写的,是队友写的,只是想了解一下!
-
@tylerthe miler:我回滚了代码的删除,因为只有两个代码右括号,这个问题完全没有意义。我宁愿不要看到围绕 SO 的无意义的问题。如果出于某种原因您不想显示代码,请将此标记为版主注意。
标签: python c numpy math overloading