max*_*loo 2 c++ variables pointers
我试图将algorithm removeC++ 中函数返回的地址存储在一个变量中,但未能找到。我试过int*和char*。两者都抛出了错误。
使用 Visual Studio CL,错误是:
error C2440: '=': cannot convert from '_FwdIt' to 'int *'
使用MinGW,错误是:
cannot convert '__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >' to 'int*' in assignment
我应该如何存储这样的地址?
我正在尝试的代码:
#include <stdio.h>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main (void) {
string line ("This is an example sentence.");
int* newEOL;
newEOL = remove(line.begin(), line.end(), ' ');
printf("%p\n", newEOL);
}
Run Code Online (Sandbox Code Playgroud)
为什么你认为它是一个指针?
正如这里所证明的:https : //en.cppreference.com/w/cpp/algorithm/remove 它是一个迭代器,可以实现为指针,但不是必须的。
auto如果您不想明确指定类型,则可以使用关键字。
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |