游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1810|回复: 5

又有问题要问了。真的是不会呀。

[复制链接]

3

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2006-5-11 10:37:00 | 显示全部楼层 |阅读模式
自建一个过程sub subname(x1 as integer,y1 as integer)
用call subname(1,1)
可以顺利调用。也就是说程序本身没有问题。
有一个变量X为single类型,还有一个变量New_x为integer。
New_x=X\32
然后再call subname(New_x,1)就会报错说类型不对。
难道New_x=X\32这个运算的返回值是single?可现在问题是就算我把子过程的参数改成single依然会报错。
问专家怎么解决这个问题。
也就是说VB中有没有把single类型转变成integer类型的方法或者函数。

3

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2006-5-11 10:51:00 | 显示全部楼层

Re:又有问题要问了。真的是不会呀。

New_x=cint(X)\32
好象是实现这个功能的。
可就算我这样用了之后,把new_x作为参数依然会报错,难道是人品问题?

3

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2006-5-11 11:01:00 | 显示全部楼层

Re:又有问题要问了。真的是不会呀。

真是见鬼了。我用
typename(new_x),
返回值的确是integer。
可为什么代入过程就出错呢?

7

主题

229

帖子

247

积分

中级会员

Rank: 3Rank: 3

积分
247
QQ
发表于 2006-5-11 12:35:00 | 显示全部楼层

Re:又有问题要问了。真的是不会呀。

你把你的代??上?

7

主题

229

帖子

247

积分

中级会员

Rank: 3Rank: 3

积分
247
QQ
发表于 2006-5-11 12:39:00 | 显示全部楼层

Re:又有问题要问了。真的是不会呀。

如果需要一??整型的?量,你???最好使用long型,除了CPU更??化外,值域???泊罅耍?p少出?的?C??

?一下??樱

dim New_x as long
New_x = clng(x) \ 32
call subname(New_x,1)

3

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2006-5-11 15:53:00 | 显示全部楼层

Re:又有问题要问了。真的是不会呀。

问题已经解决了,看来还是基本功不够扎实呀。
其实问题的关键是调用子过程时是按值还是按址传递的问题。
在子过程中加入关键字就可以了。
sub subname(byval x1 as integer,y1 as integer)
以前是没加这个byval,默认是按址传递吧。加入这个就是按值传递了。
可就算这样也不应报说参数类型不符呀。
谢谢:dreamerate前辈,每次都回答我的问题。那个二进制文件读取的问题依然悬而未解,等待您的回答。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 11:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表