我是新手使用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
答案 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;
}
你可能会遗漏一些简单的东西吗?