小编use*_*934的帖子

使用大括号括起初始化列表初始化结构时出错

struct CLICKABLE
{
    int x;
    int y;
    BITMAP* alt;
    BITMAP* bitmap;

    CLICKABLE()
    {
        alt=0;
    }
};

CLICKABLE input={1,2,0,0};
Run Code Online (Sandbox Code Playgroud)

此代码给出了以下错误:

无法从大括号括起来的初始化列表转换

有人可以解释一下为什么编译器会给我这个错误,以及我如何解决它?我还在学习这门语言.

c++ constructor struct

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

指向c ++中的指针

这段代码无论我怎么努力我都无法理解......

#include <iostream>

using namespace std;

int main()
{
    int ***mat;

    mat = new int**[4];

    for(int h = 0; h < 4; h++) {
        mat[h] = new int*[4];
    }

    for (int i = 0; i < 4; i++) {
        delete[] mat[i];
        delete[] mat;
    }

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

这不应该mat = new int**[4];意味着mat会指向一个int**数组,所以当我想使用这个数组的成员时我应该这样做*mat[0]吗?

我不明白这一行mat[h] = new int*[4];.

c++ pointers

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

std :: swap错误分配只读引用

void sort_this(std::map<BITMAP*,MAPS>::iterator  start,std::map<BITMAP*,MAPS>::iterator endd)
{
    for(auto itt=start;itt!=endd;itt++)
    {               
        for(auto it=start;it!=endd;it++)
        {        
            if(itt->second.type > it->second.type)
            {                                
                std::swap(*it,*itt);
            }                
        }        
    }       
}
Run Code Online (Sandbox Code Playgroud)

我需要调换*it*itt,它给这个错误.

files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\move.h|177|
error: assignment of read-only reference '__a'|
c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\move.h|178|
error: assignment of read-only reference '__b'|
Run Code Online (Sandbox Code Playgroud)

编辑:此功能的目的是安排地图的元素.根据second.type

c++ stl

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

标签 统计

c++ ×3

constructor ×1

pointers ×1

stl ×1

struct ×1