向量没有命名类型?

问题描述 投票:0回答:1

我正在尝试在调试器中设置该函数,但似乎我什至无法调用我正在尝试设置的函数。 ;(

我想知道是否有人可以帮助我理解这些编译错误。

我尝试确保参数类型正确。

#include <stdio.h>
#include <bits/stdc++.h>
#include <iostream>
#include <vector>


vector<int> twoSum(vector<int> nums, int target)
{
    std::vector<int> v;
    for (int i = 0; nums.begin() < nums.end(); i++)
    {
        for (int j = 0; nums.begin() < nums.end(); j++)
        {
            if( (nums.at(i) + nums.at(j) == target) && (i != j))
            {
                v.push_back(nums[i]);
                v.push_back(nums[j]);
            }
        }
    }
    return v;
}

int main()
{
    std::vector<int> nums = {2,7,11,15}; 
    int target = 9;
    twoSum(nums, target);
    return nums.size();
}

main.cpp:15:1:错误:“向量”没有命名类型

15 |向量twoSum(向量nums,int目标)

| ^~~~~~

main.cpp:在函数‘int main()’中:

main.cpp:36:5:错误:“twoSum”未在此范围内声明

36 | TwoSum(nums, 目标);

| ^~~~~~

c++ function vector namespaces
1个回答
0
投票

vector<?>
不在全局命名空间中。它位于
std
命名空间中,除非您想使用
using
,否则您必须限定对它的所有引用。只需将所有没有
vector<?>
前缀的
std::
实例(例如第 15 行的实例)替换为
std::vector<?>
,该特定错误就会消失。

© www.soinside.com 2019 - 2024. All rights reserved.