缺少类型说明符 - 在C++中假设为Int

pig*_*d10 3 c++ types specifier

这些第二行是抛出这个错误,但我不确定为什么.

std::vector<std::string> weapons(100);
weapons[3] = "Rusty dagger";
Run Code Online (Sandbox Code Playgroud)

-

这是我的整个文件:

//global variables
#ifndef _GLOBAL_
#define _GLOBAL_

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

//prototypes
void NPCTalk(std::string const& speaker,std::vector<std::string> const& text);
void wait(double seconds);
void regionChange(int amount);
int getPositionInStringVector(std::vector<std::string> const& vec,std::string value);

//variables
std::vector<std::string> weapons(100);
weapons[3] = "Rusty dagger";

//defines
#define RegionChange 3

#endif //__GLOBAL__
Run Code Online (Sandbox Code Playgroud)

ybu*_*ill 12

weapons[3] = "Rusty dagger";
Run Code Online (Sandbox Code Playgroud)

这是一个声明.您不能在全局范围内编写语句.你必须将它放在一个函数中.

  • 这不是严格意义上的.只要它们是"初始化",您就可以在顶级进行分配.OPs赋值不是初始化,只是一个普通的普通赋值. (2认同)
  • @Pig Head:更好地避免全局变量. (2认同)