相关疑难解决方法(0)

如何找到阵列的长度?

有没有办法找到一个数组有多少个值?检测我是否已到达阵列的末尾也可以.

c++ arrays

496
推荐指数
15
解决办法
130万
查看次数

如何在C++中初始化向量

可能重复:
C++:使用硬编码元素初始化STL向量的最简单方法

我想像数组一样初始化一个向量.

int vv[2] = {12, 43};
Run Code Online (Sandbox Code Playgroud)

但是当我这样做的时候,

vector<int> v(2) = {34, 23};
Run Code Online (Sandbox Code Playgroud)

要么

vector<int> v(2);
v = {0, 9};
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误:

在'{'标记之前预期的primary-expression

错误:预期','或';' 在'='之前

分别.

c++ arrays declaration vector

191
推荐指数
2
解决办法
62万
查看次数

C++:如何制作已包含元素的向量

可能重复:
C++:使用硬编码元素初始化STL向量的最简单方法
如何在c ++中初始化向量

我想知道是否有办法制作带有公布元素的矢量..

而不是必须做:

vector< int > v;  
v.push_back(3);  
v.push_back(5);  
v.push_back(1);  
Run Code Online (Sandbox Code Playgroud)

等等,其中v = {3,5,1},

我想制作一个已包含以下元素的向量:

vector< int > v = {3,5,1};
Run Code Online (Sandbox Code Playgroud)

因为在向量中插入每个数字是很多工作.这有什么捷径吗?

c++ vector

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

编译器错误:“不能用初始化列表初始化非聚合。”

尝试在 C++ 中创建一个简单的向量时,出现以下错误:

非聚合不能用初始化列表初始化。

我正在使用的代码是:

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

using namespace std;

int main(int argc, char *argv[])
{
    vector <int> theVector = {1, 2, 3, 4, 5};
    cout << theVector[0];
}
Run Code Online (Sandbox Code Playgroud)

我试着把:

CONFIG += c++11 
Run Code Online (Sandbox Code Playgroud)

进入我的.pro文件,保存并重建它。但是,我仍然遇到相同的错误。我正在使用我认为是 Qt 5.5 的东西,About如果它对您有意义,那么当我按下时会发生以下情况:Qt's About

任何帮助表示赞赏。

c++ qt

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

如何立即在向量中插入向量?

我有一个元素类型的向量vector<int>,我想快速插入这样的元素:

triangles.push_back(vector<int>(som1, som2, som3))
Run Code Online (Sandbox Code Playgroud)

但它不起作用,没有vector<int>匹配参数列表的构造函数.

有没有快速的方法来做,或者我必须创建一个临时vector<int>变量,推回som1 som 2和som3,最后推回三角形的临时变量?

c++ stl vector

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

使用STL/Boost初始化硬编码集<vector <int >>

就像已经问到的这个问题一样,我想用STL初始化一个容器,其中元素以最干净的方式进行硬编码.在这种情况下,元素是双嵌套容器:

set<vector<int> > A;
Run Code Online (Sandbox Code Playgroud)

我希望(例如)将以下值放入:

A = [[0,0,1],[0,1,0],[1,0,0],[0,0,0]];
Run Code Online (Sandbox Code Playgroud)

C++ 0x没问题,使用g++4.4.1.STL是优选的,因为我不使用Boost代码的任何其他部分(虽然我不介意用它的例子!).

c++ boost stl initialization

4
推荐指数
2
解决办法
3219
查看次数

如何设置全局容器(C++ 03)?

我想定义一个全局容器(C++ 03),这是我尝试过的一个示例代码,它不起作用.

#include <vector>
#include <string>
using namespace std;

vector<string> Aries;
Aries.push_back("Taurus");    // line 6

int main() {}
Run Code Online (Sandbox Code Playgroud)

编译错误:

prog.cpp:6:1: error: 'Aries' does not name a type
Run Code Online (Sandbox Code Playgroud)

我似乎可以定义一个空的全局向量,但无法填充它.看起来在C++ 03中,我也无法指定初始化器,例如:

vector<string> Aries = { "Taurus" };
Run Code Online (Sandbox Code Playgroud)

我在这里犯了错误,或者我如何解决这个问题?

我尝试在StackOverflow上搜索,看看之前是否已经回答了这个问题,但是只发现了这些帖子:C++中的全局对象,在C++定义全局常量,这对此没有帮助.

c++ containers global-variables c++03

4
推荐指数
3
解决办法
2416
查看次数

C++ - Float Arrays的向量

我目前正在尝试创建一个包含浮点数组的向量.我有一段难以忍受的时间.

我有以下代码:

float testArray[4] = {20, -3.14/2, 5, -3.14/2};
std::vector<float[4]> inputVector;
std::vector<float[4]>::iterator it = inputVector.begin();
inputVector.insert(it, testArray);
Run Code Online (Sandbox Code Playgroud)

我一直收到一个错误说"数组必须使用大括号括起来的初始化程序初始化"和"无效的数组赋值".我用int的向量(而不是数组的向量)尝试了相同的代码,并且没有任何问题.

我认为存在一个我不理解的根本问题.

任何帮助表示赞赏!

c++ arrays vector

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

无法将std数组初始化为std向量

不是实际问题,而是时尚危机..

 vector<array<unsigned int, 3>> tri;
 tri.push_back(array<unsigned int, 3> {0, 0, 0});
Run Code Online (Sandbox Code Playgroud)

给我一个语法错误.有没有办法初始化一个std数组与值在一行中的向量?

c++ c++11

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

用C++初始化一个向量pf点

Point P0(0,0), P1(3, 4), P2(-50,-3), P3(2,0); //Input  Points (fine)
std::vector<Point>  Points(P0,P1, P2 ,P3); (not fine)
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.如何将点矢量初始化为上述值?或者有更简单的方法吗?

c++ initialization vector

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