没有使用push_back命名类型

时间:2012-03-02 10:34:45

标签: c++

我是新手使用c ++

当我执行以下代码时

我知道它不应该绘制任何东西,我只是想尝试从使用顶点位置的数组更改为使用向量,因为我希望能够计算点然后使用push_back来追加它们。 / p>

这个最小的例子不会编译:

#include <vector>

std::vector<float> vertexPositions;

const float triangle = 0.75f;

vertexPositions.push_back(triangle);

int main(int argc, char** argv)
{
    return 0;
}

我明白了:

error: ‘vertexPositions’ does not name a type

3 个答案:

答案 0 :(得分:6)

vertexPositions.push_back(triangle);是一个声明。它必须放在函数定义中。它不能像这样放在全球范围内。

将该行移至例如main,你应该没问题。

答案 1 :(得分:2)

您添加了#include <vector>吗?

答案 2 :(得分:0)

我看到了您的问题 - 主要功能中必须出现以下行:

vertexPositions.push_back(triangle);

我创建了一个控制台应用程序作为示例:

    // test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <vector>

int _tmain(int argc, _TCHAR* argv[])
{
    std::vector<float> vertexPositions;

    const float triangle = 0.75f;

    vertexPositions.push_back(triangle);
    return 0;
}

debug session

你可能会遗漏一些简单的东西吗?