English 中文(简体)
1. 先入为主的问题
原标题:Problem with Initializing Consts
  • 时间:2010-04-15 12:57:15
  •  标签:
  • c++
  • aix
  • xlc

This code, when compiled in xlC 8.0 (on AIX 5.3), produces the wrong result. It should print 12345, but instead prints 804399880. Removing the const in front of result makes the code work correctly.

Where在哪里?

#include <stdio.h>
#include <stdlib.h>
#include <string>

long int foo(std::string input)
{
        return strtol(input.c_str(), NULL, 0);
}

void bar()
{
        const long int result = foo("12345");
        printf("%u
", result);
}

int
main()
{
        bar();
        return 0;
}

汇编指挥:

/usr/vacpp/bin/xlC example.cpp -g

Edit: Changing the printf format string above to "%ld " doesn t help. Edit 2: The AIX version used was 5.3, not 6.1.

最佳回答

xlC 10.0 工作罚款,似乎是一个编造者

问题回答

这被捆绑在C++上,因此当你使用 co而不是印刷时会发生什么情况?

问题在于,你转手印刷一个未签字的纸面,然后寄出一个签名的长途打印。 记忆布局很可能是不同的,印刷版无法理解你实际想要做什么。

它只是一个猜想,为什么会发生事情,但可以作出合理的假设。

可分配到登记册或放在栏目上。 有许多因素影响登记册的使用。 在此情况下,<代码>const事项很有可能。 最终,它使汇编者有权使用其认为行之有效的东西。

同样,有关职能的论点也可以通过登记或打字。 由于这些职能经常单独汇编,它们的接口(即申报)决定了哪一种论点,即印刷(......)是一个特殊案例,因为可以提出不同类型的论据。 因此,哪些数据会随着时间的推移而结束,而且你需要说明预期的印刷(......)。

现在,当变数通过功能时,汇编者通常必须复制。 从登记到打字、一个登记册到另一个登记册,等等,可能有一些变化。 如我所示,来源地可能因是否存在<代码>const而有所不同。

现在,你将错误格式的光谱仪转至,即%u,而不是%ld。 这可能会导致印刷法(......)在错误的地方寻找数据,也许在登记册上而不是在栏目上,或者在另一方面。 这种行动可产生非常令人惊讶的结果。 http://www.ohchr.org。 看来,在非最根本的情况下,发现正确价值(尽管它可能发现它位于错误的地方),而在总案例中,<代码>印本(......)只是发现垃圾。

或许没有关联,但需要谨慎:印刷商的百分数表示未签字的ger,但你正在通过经签名的ger。

g++处理这一罚款,没有提及警告。 它确实抱怨印刷。 你们应当使用一定比例的lu。 更糟的是,使用百分比或投向(长期寄出)。





相关问题
Undefined reference

I m getting this linker error. I know a way around it, but it s bugging me because another part of the project s linking fine and it s designed almost identically. First, I have namespace LCD. Then I ...

C++ Equivalent of Tidy

Is there an equivalent to tidy for HTML code for C++? I have searched on the internet, but I find nothing but C++ wrappers for tidy, etc... I think the keyword tidy is what has me hung up. I am ...

Template Classes in C++ ... a required skill set?

I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

typedef ing STL wstring

Why is it when i do the following i get errors when relating to with wchar_t? namespace Foo { typedef std::wstring String; } Now i declare all my strings as Foo::String through out the program, ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

Window iconification status via Xlib

Is it possible to check with the means of pure X11/Xlib only whether the given window is iconified/minimized, and, if it is, how?

热门标签