相关疑难解决方法(0)

使用printf打印size_t的正确方法是什么?

Size_t被定义为一个unsigned整数,但它的大小取决于你是在32位还是64位机器上.什么是正确和便携的打印方式size_t

c c++

68
推荐指数
3
解决办法
5万
查看次数

我的For循环有什么问题?我收到警告:有符号和无符号整数表达式之间的比较[-Wsign-compare]

#include <iostream>
#include <string>
#include <vector>
#include <sstream>


using namespace std;

int main() {

    vector<double> vector_double;
    vector<string> vector_string;
    ...


    while (cin >> sample_string)
        {
            ...
        }

    for(int i = 0; i <= vector_string.size(); i++)
        {
            ....
        }

    for (int i = 0; i < vector_double.size(); i++)
        ....


    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++

10
推荐指数
2
解决办法
1万
查看次数

C89:签名/未签名不匹配

签名/未签名的不匹配一定是坏的吗?

这是我的计划:

int main(int argc, char *argv[]) {
    unsigned int i;

    for (i = 1; i < argc; i++) { // signed/unsigned mismatch here

    }
}
Run Code Online (Sandbox Code Playgroud)

argc签了,i不是.这是一个问题吗?

size c89

5
推荐指数
1
解决办法
1634
查看次数

警告:有符号和无符号整数表达式之间的比较 [-Wsign-compare]

当我使用 g++ 编译 C++ 程序时

warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for ( int i=0; i< myvec->size(); i++ ){
                                       ^
Run Code Online (Sandbox Code Playgroud)

其中myvec是 的对象std::vector<float>

为了迭代 std::vector 中的元素,我需要处理警告吗?谢谢。

c++ stdvector

5
推荐指数
1
解决办法
7322
查看次数

警告:有符号和无符号整数表达式之间的比较

我在codepad.org上运行以下代码,我收到此错误."在成员函数'double Xchange :: getprice(std :: string)'中:第87行:警告:有符号和无符号整数表达式之间的比较"

这是我的代码:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

class Xchange
{
public:
    Xchange();//does nothing (?)

    double getprice(string symbol);

private:
    vector <Stock> stocks;
};

double Xchange::getprice(string symbol)
{
    for(int i=0; i < stocks.size(); i++) {
        if(stocks[i].getsymbol()==symbol) {
            return stocks[i].getprice();
        }
    }

    return -1; //means not found
}
Run Code Online (Sandbox Code Playgroud)

c++ class

4
推荐指数
1
解决办法
5939
查看次数

为什么常量的类型修饰符?

我无法理解文字常量的类型修饰符的用途是什么,比如数值常量:

75 
75u     
75l  
75ul
75lu 
Run Code Online (Sandbox Code Playgroud)

在什么情况下这可能有用?我的意思是如果你已经为变量类型声明了一个类型修饰符,我认为没有必要这样做.如果有人能帮助我理解这一点,那将是惊人的!谢谢!

奖金问题:"文字"是否与"常数"相同,你可以只说"文字"而不是"文字常量"吗?

c++

3
推荐指数
2
解决办法
128
查看次数

有符号和无符号整数表达式之间的比较

我刚开始使用OpenGL.这是我的第一个代码:

// OpenGL hello program
#include<iostream>
#include <GL/glut.h>
#include <cstring>

void display() {
    glClear(GL_COLOR_BUFFER_BIT);
    char message[] = "Hello, world!";
    glRasterPos2d(0, 0);
    for (int i = 0; i < sizeof(message) / sizeof(message[0]); i++)
    {
        glutBitmapCharacter(GLUT_BITMAP_HELVETICA_12, message[i]);
    }
}

int main(int argc, char *argv[]) {
    glutInit(&argc, argv);
    glutInitWindowSize(500, 500);
    glutCreateWindow("OpenGL hello program");
    glutDisplayFunc(display);
    glutMainLoop();
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:警告:有符号和无符号整数表达式之间的比较(第9行). 我还尝试编写一个新代码然后看看导致问题的原因:

#include<iostream>
#include <cstring>

void display1() {
    char message[] = "Hello, world!";

    for (int i = 0; i < sizeof(message) / sizeof(message[0]); i++)
        std::cout<<message[i];
} …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors

2
推荐指数
1
解决办法
3万
查看次数

比较有符号和无符号整数

我写了以下几行代码:

int pos = 0, last_pos = 0;
while ((pos = str.find_first_of(" ", last_pos)) != string::npos)
Run Code Online (Sandbox Code Playgroud)

但是编译器显示错误:

error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     while ((pos = str.find_first_of(" ", last_pos)) != string::npos)
                                                                            ^
Run Code Online (Sandbox Code Playgroud)

我该如何解决?这是我第一次看到这个

c++

0
推荐指数
1
解决办法
233
查看次数

有符号和无符号整数表达式[-Wsign-compare]警告之间的比较

for ( i= 0; i < sizeof(r)/sizeof(r[0]); ++i ){ 
        r[i]= 0; 
}
Run Code Online (Sandbox Code Playgroud)

所以这是for循环我遇到了麻烦,我怎么能重写它所以我没有得到警告:

comparison between signed and unsigned integer expressions [-Wsign-compare]
Run Code Online (Sandbox Code Playgroud)

c comparison unsigned warnings for-loop

-3
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×7

c ×2

c89 ×1

class ×1

comparison ×1

compiler-errors ×1

for-loop ×1

size ×1

stdvector ×1

unsigned ×1

warnings ×1