我最近补充说:
#define NOMINMAX
#include <Windows.h>
#include <algorithm>
Run Code Online (Sandbox Code Playgroud)
到我的main.cpp才能使用
std::max( x , x ); // x is just a placeholder and not actual anything
std::min( x , x );
Run Code Online (Sandbox Code Playgroud)
但我不能std::max()/std::min()在其他文件中使用.
error C2589: '(' : illegal token on right side of '::'
error C2059: syntax error : '::'
Run Code Online (Sandbox Code Playgroud)
我试图添加#define NOMINMAX我的其他文件,但失败了.什么是线索?
我问之前环顾四周,但我不明白答案在Visual C++上NOMINMAX可能出现问题
出于好奇!
你可以用回做什么iterator的std::generate_n?
返回值:
迭代器经过分配的最后一个元素 if
count > 0,否则首先。
std::vector<int> v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
auto iterator = std::generate_n(std::back_inserter(v), 10, [&]() {return j++;});
std::cout << "type: " << typeid(iterator).name() << '\n';
/*
for (iterator = v.begin(); iterator< v.end(); iterator++){
std::cout << *iterator << " " << endl;
}
*/
for(auto a : v)
std::cout << a << " ";
std::cout << std::endl;
Run Code Online (Sandbox Code Playgroud)
输出:
type: St20back_insert_iteratorISt6vectorIiSaIiEEE
1 2 3 4 5 6 …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个类的12个新实例并运行它们中的每一个它是一个自己的线程,但它们接缝以共享相同的数据.所有12个实例都位于相同的X和Y位置,但它们每个都应该在随机方向上移动.正如你在代码中看到的,我尝试了各种apraoches,我无法找到原因.
我在这做错了什么?
ps是的...我知道还有一些未使用的变量.在我发布问题之前,我已经看过很多地方了
enemy.cpp
#include "enemy.h"
#include <time.h>
#include <windows.h>
FILE* pEnemyFile = fopen ("enemylog.txt","w");
Enemy::Enemy(const MouseServer& mServer, int& lastMousePosX, int& lastMousePosY, int& winSizeX, int& winSizeY )
:mouseServer(mServer),
lastMouseX( ( lastMousePosX ) ? lastMousePosX : 0 ), // evaluate if we get the reference
lastMouseY( ( lastMousePosY ) ? lastMousePosY : 0 ),
myPositionX(0),
myPositionY(0),
winSizeX(winSizeX),
winSizeY(winSizeY),
x(0),
y(0)
{
// original source:
// http://msdn.microsoft.com/en-us/library/windows/desktop/ms682516(v=vs.85).aspx
// Allocate memory for thread data.
EDATA threadEnemyData = (EDATA) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,sizeof(enemyData));
// http://www.codeproject.com/Articles/14746/Multithreading-Tutorial
// …Run Code Online (Sandbox Code Playgroud) 我试图让 bluepill(arm STM32)上的 LED 闪烁并按照本教程中的说明进行操作,但是当我尝试编译代码时遇到此错误。我用的是ubuntu。
我刚刚安装了 Rust / Cargo,如教程中所示。我安装了stlink,我对 Rust、Cargo 或 Bluepil 没有经验。
$ cargo build --release:
error[E0463]: can't find crate for `core`
|
= note: the `thumbv7m-none-eabi` target may not be installed
Run Code Online (Sandbox Code Playgroud)
它依赖于 ./cargo/config 文件吗?
$ rustup show
Default host: x86_64-unknown-linux-gnu
rustup home: /home/marco/snap/rustup/common/rustup
installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu (default)
nightly-x86_64-unknown-linux-gnu
installed targets for active toolchain
--------------------------------------
thumbv7m-none-eabi
x86_64-unknown-linux-gnu
active toolchain
----------------
stable-x86_64-unknown-linux-gnu (default)
rustc 1.46.0 (04488afe3 2020-08-24)
Run Code Online (Sandbox Code Playgroud)
$ rustup target add thumbv7em-none-eabi
info: downloading component …Run Code Online (Sandbox Code Playgroud) c++ ×3
winapi ×2
algorithm ×1
iterator ×1
object ×1
oop ×1
return-value ×1
rust ×1
rust-cargo ×1
std ×1