gpt4 book ai didi

c++ - vector 没有命名类型

转载 作者:太空宇宙 更新时间:2023-11-04 16:16:00 25 4
gpt4 key购买 nike

我在标题中有这个错误:这里是变量和函数原型(prototype)的类声明

#ifndef ROZKLADLICZBY_H
#define ROZKLADLICZBY_H


class RozkladLiczby{
public:
RozkladLiczby(int); //konstruktor
vector<int> CzynnikiPierwsze(int); //metoda
~RozkladLiczby();
};


#endif

和类主体:

#include "RozkladLiczby.h"
using namespace std;
#include <iostream>
#include <vector>




RozkladLiczby::~RozkladLiczby() //destruktor
{}

RozkladLiczby::RozkladLiczby(int n){
int* tab = new int[n+1];
int i,j;

for( i=0;i<=n;i++)
tab[i]=0; //zerujemy tablice

for( i=2;i<=n;i+=2)
tab[i]=2; //zajmujemy sie liczbami parzystymi

for(i=3; i<=n;i+=2)
for(j=i;j<=n;j+=i) //sito erastotesa
if(tab[j]==0)
tab[j]=i;

}

vector<int> RozkladLiczby::CzynnikiPierwsze(int m){
vector<int> tablica;
while(m!=1){
tablica.push_back(tab[m]);
m=m/tab[m];
}

return tablica;

}

第一 block 的函数原型(prototype)有什么问题?为什么 vector 被告知不是类型?如果您能帮助我找出这一点,我将不胜感激。

最佳答案

您的头文件不包含 vector 头文件。添加 #include <vector>到开头。

此外,您应该将其称为 std::vector<int>而不是 vector<int> , 因为它属于 std命名空间。声明 using namespace x;在头文件中不是一个好的做法,因为它也会传播到其他文件。

关于c++ - vector 没有命名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22577572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com