首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLANG -By-Value警告?

CLANG -By-Value警告?
EN

Stack Overflow用户
提问于 2009-12-17 00:14:02
回答 2查看 476关注 0票数 0

下面的代码编译得很好...

代码语言:javascript
复制
int main (int argc, const char * argv[]) {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    // VARIABLES
    MDD *MDD_structure;
    NSString *mddFile = @"/Users/Gary/Code/Mdd/xTest.mdd";
    NSFileHandle *inFile;
    NSData *inBuffer;
    int MDD_fCount;
    int MDD_vCount;

    // OPEN FILE ON DISK
    inFile = [NSFileHandle fileHandleForReadingAtPath:mddFile];
    if(inFile == nil) NSLog(@"FILE: Open ... ERROR");
    else NSLog(@"FILE: Open ... OK");

    // READ FRAME COUNT
    inBuffer = [inFile readDataOfLength:sizeof(int)];
    [inBuffer getBytes:&MDD_fCount length:sizeof(int)];
    MDD_fCount = CFSwapInt32BigToHost(MDD_fCount);
    NSLog(@"FC: %d", MDD_fCount);

但是当我通过静态分析器"CLANG LLVM1.0“运行它时,我得到了以下结果...

代码语言:javascript
复制
warning: Pass-by-value argument in function call is undefined.
         MDD_fCount = CFSwapInt32BigToHost(MDD_fCount);
                      ^                    ~~~~~~~~~~
1 diagnostic generated.

谁能告诉我我错过了什么?

加里

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-17 00:17:41

你会得到一个错误,因为clang不相信简单地将变量的地址传递给函数就等同于给它赋值。您可能可以将MDD_fCount初始化为0,以消除错误。

票数 5
EN

Stack Overflow用户

发布于 2009-12-17 00:23:06

这意味着你还没有初始化MDD_fCount。有关更多信息,请参阅this blog postthis other question

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

https://stackoverflow.com/questions/1915742

复制
相关文章

相似问题

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