【发布时间】:2020-11-26 05:29:25
【问题描述】:
我只是在制作一个程序,这会发生 我不明白这样的皈依者在哪里。
这个程序应该查看输入字符串中每个字符的数量。它正在进行中,但我已经创建了一个 for 循环来处理输入。
错误:
11:30: error: conversion from 'int' to non-scalar type 'std::vector<int>' requested
代码:
// Example program
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string input;
vector<int> letters = (26,0);
vector<char> alpha = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
cin >> input;
for(int i = 0; i < input.size();i++){
for(int j = 0; j < alpha.size(); j++){
if(input[i]==alpha[j]){
letters[j] ++;
}
}
}
}
【问题讨论】:
-
这是一个错字。
(26, 0)仅计算为0。您正在尝试分配vector<int> letters = 0;您需要波浪形括号而不是括号。 -
vector
test_scores_b (10,75);在我的 IDE 上工作 -
vector<int> test_scores_b (10,75)调用std::vector<int>的构造函数,它接受两个整数。它不同于std::vector<int> letters = (10, 75); -
哦,抱歉,这就是原因,
-
Here 是
std::vector<T>的构造函数。它读起来就像是编程语言参考文档,但这个网站尤其对社区来说是非常宝贵的帮助。
标签: c++ compiler-errors type-conversion