gpt4 book ai didi

C++语法问题

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:40 24 4
gpt4 key购买 nike

我需要帮助解决我遇到的 C++ 语法问题。

#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <fstream>
#include <stdlib.h>
#define RANGE 15.0

#define NUMBINS 15

struct _freq
{

float ini, end;
int q;
};

typedef _freq freq;

vector<freq> alphaCutoffSelector(vector<atom> A,string _i,string _j,float r=RANGE,
int b=NUMBINS);

vector<freq> alphaCutoffSelector(vector<atom> A,string _i,string _j,float range,
int bins)
{
vector<freq> F;
freq *f;
double D;

for (int i=0;i<bins;i++)
{
f=new freq;
f->ini=i*(range/bins);
f->end=f->ini+range/bins;
f->q=0;
F.push_back(*f);
}

for(int i=0;i<A.size();i++)
{
for (int j=0;j<A.size();j++)
{
for(int k=0;k<bins;k++)
{
if(i!=j && A[i].getResName()==_i &&
A[j].getResName()==_j && A[i].getAtomName()=="CA" &&
A[j].getAtomName()=="CA")
{
D = (A[j].getX()-A[i].getX())*(A[j].getX()-A[i].getX()) + (A[j].getY()-A[i].getY())*(A[j].getY()-A[i].getY()) + (A[j].getZ()-A[i].getZ())*(A[j].getZ()-A[i].getZ());

if (D > (k*range/bins)*(k*range/bins) && D <= ((k+1)*range/bins)*((k+1)*range/bins))
{
F[k].q=F[k].q+1;
}
}
}
}
}

return F;
}

vector<freq> C;
string RN[] = {"ALA","ARG","ASN","ASP","CYS","GLU","GLN","GLY","HIS","ILE","LEU","LYS","MET","PHE","PRO","SER","THR","TRP","TYR","VAL"};

int i,j;
for (i=0;i<20;i++)
{
for (j=0;j<20;j++)
{
if (i<=j)
{
C=alphaCutoffSelector(atoms,RN[i],RN[j]);
cout <<RN[i] <<"-" <<RN[j];

for (int n=0;n<NUMBINS;n++)
{
cout <<" " <<C[n].q;
}

cout << endl;
C.clear();

}
}
}

return 0;
}

尝试使用 g++ -c try.cc 编译它会导致以下错误消息:

try.cc:1: error: expected constructor, destructor, or type conversion before '<' token.

我该怎么办??

[我试过了 - Ed.]

最佳答案

我怀疑你应该写std::vector。编译器看到它不理解的符号(即 vector )并尝试将其视为构造函数/析构函数/...。

关于C++语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1202183/

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